-
最合理的选择是<nav>+<ol>(强时序)或<ul>(含分支),配aria-current="step"和aria-label;连接线用li:not(:last-child)>span::after实现,确保语义清晰、无障碍可用。
-
应根据适配维度选择:需按设备像素比(如Retina屏切2x图)用x描述符;需按图片在页面中的渲染宽度(如不同断点下占300px/768px)则必须用w描述符并配sizes属性。
-
安全使用env()需启用viewport-fit=cover元标签,配合calc()和max()/min()回退,优先适配top/bottom,安卓左右值不可靠,真机验证必不可少。
-
小元素在行内布局中易挤在一起,因默认inline元素受字体基线和vertical-align:baseline影响,导致垂直对齐不一致;推荐用inline-block+vertical-align或flex+gap统一控制间距。
-
用contain:layoutpaint或contain:strict可实现局部重绘,但需容器尺寸稳定、子元素不越界且浏览器支持;contain:layoutpaint最常用,strict隔离最强但要求明确尺寸和定位约束。
-
Sass5.0+废弃@import是因其破坏模块化:全局作用域导致命名冲突、重复编译、无法选择加载、无命名空间;@use实现作用域隔离,@forward用于封装接口而非简单转发。
-
浮动元素底部不齐是正常行为,伪等高需用padding-bottom+负margin-bottom配合overflow:hidden裁剪实现,IE6/7需zoom:1触发hasLayout,现代项目应优先使用flex或grid。
-
微任务队列过度拥挤会导致页面卡顿、响应延迟、内存泄漏和隐式无限递归,阻碍渲染与交互,引发Chrome中断或卡死,并因闭包引用造成内存持续占用,调试困难;应节制使用,优先选用requestIdleCallback或节流setTimeout。
-
HTML文档无法整体设为只读,需按元素类型分别处理:input/textarea用readonly或disabled,contenteditable元素必须设contenteditable="false",JavaScript操作时注意属性名大小写与动态插入时机。
-
推荐用「操作符优先级+双栈法」安全解析数学表达式:先正则清洗并归一化符号,再按优先级计算,特殊处理负数和括号,配合token化与实时校验防错。
-
audio标签的loop是布尔属性,仅存在即启用循环,无值;JS可通过element.loop=true/false动态控制;但iOSSafari等移动端默认禁用,需用ended事件手动重播实现跨平台兼容。
-
HTML5音视频兼容关键在于编码格式而非扩展名:视频用H.264(Main/HighProfile,Level≤4.0),音频用AAC-LC(44.1/48kHz,双声道),容器优先.mp4;type属性须精确声明codecs,<source>按兼容性降序排列;FFmpeg必加-pix_fmtyuv420p、-profile:vmain、-level3.1、-movflags+faststart;自动播放需用户手势触发且静音。
-
HTML中图片默认以inline元素渲染,会保留基线(baseline)下方的空白区域,导致容器底部出现不可见却可测量的间隙;解决方法包括设置display:block、vertical-align:top或显式固定父容器高度。
-
JavaScript支持函数式编程,核心是纯函数(相同输入恒得相同输出、无副作用)和高阶函数(接收或返回函数),二者结合提升可预测性、可测试性与组合能力。
-
TreeShaking是一种基于ES6模块静态分析的构建优化技术,通过标记并剔除未使用的代码来减小打包体积;它依赖于静态的import/export语法,不支持CommonJS动态模块,在生产模式下结合Terser等压缩工具生效,且需在package.json中配置sideEffects以帮助构建工具判断代码是否可安全删除。