-
hidden和block不能直接做响应式图片切换,因为它们只控制显示/隐藏,不阻止图片预加载;浏览器会提前下载所有img的src,导致带宽浪费。
-
grid-area的四值顺序为行起始/列起始/行结束/列结束,非上下左右;支持span和命名区域,不接受auto或函数,且不可混用数字与名称。
-
Vue3的Fragment和Slots共同解决多根节点限制:Fragment允许组件模板直接包含多个同级根节点而不产生冗余DOM;Slots支持默认、具名及作用域插槽,使父组件可向子组件注入任意结构内容。
-
动画失效主因是animation-name与@keyframes名称大小写/空格/符号不完全匹配,且animation-duration在简写中不可省略;关键帧仅支持from/to或百分比,不支持px/s等单位。
-
继承层次过深会直接削弱代码可读性、可调试性和运行效率,典型信号包括调用路径模糊、执行类型难确认、资源开销反常,如IDE跳转失焦、JIT拒绝优化、测试假覆盖及隐式依赖蔓延。
-
在HTML中创建面包屑导航需要使用结构化的HTML标记,并注意可访问性和SEO优化。1)使用<nav>和<ol>元素包裹面包屑导航,2)使用aria-label和aria-current属性提高可访问性,3)通过CSS美化导航,4)可使用JavaScript动态生成面包屑导航,确保其简洁、一致且移动友好。
-
创建XMLHttpRequest实例需兼容旧版IE:优先用newXMLHttpRequest(),IE5/6回退ActiveXObject;open()的async参数必须为true(异步),禁用false(同步);监听响应须结合onload或onloadend与status判断,避免解析错误页。
-
IE已于2022年6月15日终止支持,仅两类场景需兼容:维护中的老旧内网系统(如IE11)或合同强制要求;判断依据为UA占比<0.1%、合同条款及依赖库是否原生支持。
-
使用overflow和padding可解决浮动导致的父元素高度塌陷。首先,通过设置父容器overflow:hidden触发BFC,使其包含浮动子元素,防止布局塌陷;其次,结合padding确保内容与边框间距,提升视觉效果,同时可添加clear:both的清除元素保证布局稳定。该方法无需复杂布局技术,兼容性好,适用于旧项目维护和需广泛浏览器支持的场景。
-
可通过CSS.registerProperty()或@property注册带类型(如<color>、<length>)的自定义属性,提升样式计算与动画性能;仅类型可插值时才支持transition和@keyframes动画,需确保赋值合法且initial-value合理。
-
Less变量插值在::before和::after的content属性中有效但受限:仅字符串类型变量可安全插值,数值、颜色等非字符串类型会报错;必须用e()或预定义字符串变量拼接,不可在content内运算,且无法替代运行时的attr()函数。
-
html-webpack-plugin的templateParameters仅传递JSON-safe数据,需在模板中显式声明初始化逻辑(如挂载window.__INIT_DATA__),JS插件监听DOM就绪后读取并执行,不可直接传函数或DOM引用。
-
<header>、<nav>、<main>、<article>、<aside>、<footer>是定义页面功能区域的合法语义标签,用于向浏览器、搜索引擎和屏幕阅读器声明内容本质,而非仅控制样式;滥用div或误用这些标签会破坏结构语义、损害可访问性与SEO。
-
可使用reversed属性(HTML5原生)、CSScounter重置与递减、flex-direction+order视觉反转、JavaScript动态注入四种方法实现ol倒序编号,其中reversed最简洁语义化。
-
纯HTML星级评分需用5个同name的radio按钮+对应label,input必须前置且隐藏(clip而非display:none),label紧随其后以支持:checked+label样式联动及可访问性。