-
伪元素默认为inline,不支持宽高及上下margin,需设display:block或inline-block才生效;content属性必不可少;定位时需配合position且父元素设relative;还需排查overflow、样式覆盖及透明度干扰。
-
应使用<mark>标记当前上下文中具有相关性或需视觉突出的文本,如搜索关键词、引用条款;它专为“高亮”设计,语义区别于强调重要性的<strong>和无语义的<span>。
-
box-sizing属性控制width/height是否包含padding和border,默认content-box,设为border-box则总宽固定;老项目在Chrome中“变窄”实为未重置box-sizing导致跨浏览器不一致。
-
核心Web指标(LCP、FID、CLS)是衡量用户体验的关键,通过JavaScript使用web-vitals库采集,结合PerformanceAPI,在页面生命周期中监听并上报数据;针对SPA需注意路由变化时的重新监听,利用navigator.sendBeacon确保卸载前可靠发送;后端接收后存储于时序数据库,按百分位数(如P75)、维度(设备、页面等)聚合分析,通过Grafana等工具可视化趋势与分布,设置警报机制,驱动性能优化闭环。
-
使用position:sticky可实现表头吸顶,需设置thead中的tr或th的top值,确保父容器无overflow:hidden,配合z-index和背景色保证视觉效果。
-
JavaScript动画核心是requestAnimationFrame实现60fps平滑更新,优先改transform/opacity触发GPU加速,封装play/pause/seek方法控制状态,配合anime.js等轻量库按需使用。
-
Canvas绘图完全依赖JavaScript控制,需先获取2d或webgl上下文并确认可用性,再通过ctx方法绘制图形、实现动画和响应交互。
-
line-height是CSS属性,非HTML5原生属性;其推荐值为无单位数字(如1.5),可继承且不二次缩放;length(如20px)和percentage(如150%)易导致嵌套异常或视觉拥挤。
-
使用CSSModule可解决大型前端项目中CSS类名冲突问题。首先在webpack.config.js中启用modules配置并设置localIdentName;接着将样式文件重命名为*.module.css格式,并通过import导入生成局部类名映射;然后在TypeScript项目中创建.d.ts声明文件以支持CSS模块类型;最后结合sass-loader配置处理.module.scss文件,实现Sass特性与模块化共存,确保样式的隔离性与可维护性。
-
Promise是JavaScript处理异步操作的标准对象,代表未来完成或失败的操作,具有pending、fulfilled、rejected三种不可逆状态,支持链式调用与错误传递,并提供Promise.all()、race()、allSettled()等静态方法协调多个异步任务。
-
组合式API通过自定义Hook实现逻辑复用,如useWindowSize管理窗口尺寸、useValidation处理表单校验,并结合provide/inject共享状态,提升代码内聚性与可维护性。
-
浮动元素脱离文档流致后续块级元素绕行错位,clear:both通过强制元素边框框不与浮动元素重叠来解决,但现代推荐用display:flow-root或Flex/Grid布局替代。
-
React与Vue的选择取决于项目需求而非优劣:React以生态自由度见长但需自主选型,Vue以模板响应式确定性提升开发效率,团队规模、基建能力及具体约束(如IE支持、SSR)共同决定技术选型。
-
在HTML5中实现文字首行缩进需用CSS的text-indent属性,支持固定像素、em相对单位、rem根单位、负值悬挂缩进及多语言(RTL/垂直)适配五种方式。
-
HTML5的标签原生支持三种主要视频格式:MP4、WebM和Ogg。选择合适的格式能确保视频在不同浏览器中顺利播放。MP4(H.264+AAC)——兼容性最强MP4是目前兼容性最好的格式,几乎所有现代浏览器都支持它。但要注意,并非所有MP4文件都能播放,必须使用特定编码:视频编码:H.264(也称AVC)音频编码:AACMIME类型:video/mp4苹果Safari、微软Edge和InternetExplorer都只支持这种组合。因此,提供一