-
linear-gradient只能作为background-image的值,不能用于background-color;必须用to方向或标准角度(注意0deg指向上),单位不可省略,旧浏览器需-webkit前缀。
-
必须用:nth-of-type()精准选第N个某类标签,因其仅对同标签兄弟独立计数;而:nth-child()按所有子元素位置计数,混排时易失效。
-
响应式网页中字体大小的调整,关键在于使用相对单位(如rem和em)结合媒体查询(mediaquery),让文字在不同设备上自然适配。核心思路是:以根元素字体大小为基准,通过rem控制整体比例,用em处理局部缩放,再借助mediaquery在不同屏幕宽度下动态调整根字号,实现全局协调的响应式文本。rem与em的作用区别理解rem和em是构建弹性字体系统的基础:rem:相对于根元素(html)的字体大小。例如html字号设为16px,1rem就等于16px。页面所
-
justify-items在Flex布局中完全无效,因其不属于Flex规范,Flex仅支持justify-content(主轴对齐)和align-items(交叉轴对齐);它专用于Grid布局,控制网格项在其单元格内的行内轴对齐。
-
position:absolute未按父元素定位是因为父元素未提供定位上下文;必须给父元素显式设置position:relative(或其他非static值)才能使其成为定位参照物。
-
推荐用object-fit控制图片缩放裁剪:cover保持比例裁剪溢出,contain完整显示留白;需配合width/height或aspect-ratio生效,IE需fallback;容器应优先锁定宽高比,避免硬编码HTML尺寸;SVG等非位图需单独处理。
-
变量被覆盖不是闭包问题,而是作用域绑定时机不当;var声明使循环共用一个i,异步执行时i已为终值;let每次迭代新建绑定,或用setTimeout第三个参数传参可解决。
-
纯CSSGrid无法实现真正瀑布流,因grid-auto-rows+span依赖预知高度、不自动避让空白、列间不联动,仅适用于内容高度稳定且无动态变化的SSR场景。
-
粘性定位卡顿主因是放大页面既有性能问题:父容器设overflow:hidden/flex/grid、sticky元素内含动态高度或width:100vw等,导致滚动时频繁回流;应避免这些属性,用contain:layout隔离,并精简样式与DOM结构。
-
JavaScript通过canvas和ImageData可实现图像处理,需先加载图片、绘制到canvas、用getImageData获取像素数据,遍历修改后putImageData写回;注意跨域、性能及抗锯齿问题。
-
vertical-align能解决图片下方空白,但仅在img为inline或inline-block且父容器非flex/grid时生效;它对齐行框底边而非父容器,bottom值最稳定可靠,失效常因父级margin、HTML空白符或图片自身留白所致。
-
通过调整position和z-index控制层叠顺序,确保目标元素位于顶层可点击;利用pointer-events:none实现点击穿透,auto恢复交互,从而精确管理重叠元素的响应行为。
-
必须用MiniCssExtractPlugin替换style-loader才能提取独立CSS文件,生产环境启用splitChunks配置cacheGroups实现公共样式合并,Vite默认支持自动CSS分割无需手动配置。
-
Reflect.get用于运行时取值(支持receiver),Object.getOwnPropertyDescriptor用于查询属性元信息;Proxy中应优先使用Reflect方法以确保语义正确和行为可组合。
-
requestAnimationFrame能匹配60FPS,因其在每帧重绘前执行回调,且浏览器以约16.67ms间隔刷新;正确用法包括节流调用、读写分离、移出耗时操作、结合观察者API,并避免与setTimeout混用或用setInterval替代。