-
箭头函数不绑定自身this,而是继承外层作用域的this值;它用=>定义,无arguments、prototype、super和new.target,不能作为构造函数。
-
能,但仅限width、background-color、border(部分浏览器)、visibility:collapse等少数CSS属性;color、font-size、text-align等无效,且background易被td覆盖,需配合border-collapse:collapse才可靠生效。
-
fixed导航栏遮挡锚点内容是因浏览器将目标元素顶部对齐视口顶部,而scroll-padding-top(设于html)可精准偏移滚动终点,仅影响滚动逻辑不破坏布局,Chrome89+/Firefox90+/Safari15.4+原生支持。
-
HTML5规范中默认为行内元素的是phrasingcontent类元素,如a、span、strong、em、img、input、label、button、code、br、abbr、b、cite、dfn、i、kbd、mark、q、samp、small、sub、sup、time、u、var等,其中img和input虽表现似inline-block,但语义属行内。
-
CSS是实现水印最轻量稳妥的选择,推荐用body::before伪元素叠加透明文字层,设fixed定位、100%宽高、pointer-events:none,并为打印添加专用mediaquery样式。
-
用IndexedDB实现离线笔记搜索的核心是建notes仓库、预处理searchText字段并建索引,再通过游标遍历+includes匹配实现模糊搜索,辅以分词、缓存和防抖优化体验。
-
用steps()实现逐字动画的关键原理是:CSS动画配合steps(n)将width从0ch到nch的变化“卡帧”为每步显示一个字符,需等宽字体、nowrap、overflow:hidden及精确字符数。
-
<marquee>已废弃且自带独立层叠上下文,z-index无效;应改用transform+@keyframes实现滚动,文字和视频均需position:relative并避免父容器触发隐式层叠上下文。
-
ES6是JavaScript现代化起点,2015年发布,奠定简洁安全可维护基础;核心特性包括let/const块级作用域、箭头函数(继承外层this)、模板字符串(支持插值与多行)、解构赋值(对象数组按名/序取值)。
-
Bootstrap嵌套列出现空白是因外层.col的padding与内层.row的margin抵消不净,需在嵌套.row上加mx-n3(BS5)或mx-n2(BS4)负边距类解决。
-
单选按钮必须用相同name属性分组,value应为简洁标识符,label负责显示文案,checked用于默认选中,且需保障无障碍支持。
-
使用BEM命名、控制特异性、CSS模块化和合理加载顺序可避免样式冲突。通过block__element--modifier命名隔离组件,统一类选择器避免!important,利用CSSModules或Scoped封装作用域,先载入通用样式再组件最后主题,确保团队规范一致,提升维护性与可控性。
-
:first-child伪类选择父元素中第一个子元素,且该子元素需匹配指定选择器。例如p:first-child选中作为首个子元素的p标签;若首个子元素为其他类型(如h2),则p:first-child不生效,此时可用p:first-of-type选中首个p类型元素。样式应用需注意子元素实际顺序,:first-child基于位置而非类型,结合:first-of-type更灵活可靠。
-
Array.prototype.sort()默认按字符串Unicode码点排序,数字数组需用(a,b)=>a-b升序或b-a降序;对象数组可按属性用减法或localeCompare排序,多级排序用逻辑或实现优先级。
-
子元素margin撑不开父容器是因外边距折叠,需触发BFC(如display:flow-root);width:100%溢出因box-sizing默认为content-box,应设border-box;absolute定位需父设position:relative;Flex中margin:auto可居中,前提父为flex且未覆盖对齐属性。