-
Less3.x升级到4.x是“收边界”而非加功能,收紧语义与校验:除法需括号或./、@import必须带.less后缀、颜色/尺寸函数参数须带单位、嵌套中父级@变量不可隐式访问。
-
<!DOCTYPEhtml>必须是文件第一个字符,前置任何空格、注释或BOM均触发怪异模式,导致document.compatMode为"BackCompat",盒模型、Flex等行为异常。
-
在HTML中显示条形码有两种主要技术选择:1.服务器端生成图片,优点是兼容性好、减轻客户端负担、便于缓存和CDN分发、安全性高,缺点是实时性差、服务器压力大、位图缩放可能模糊;2.客户端JavaScript库动态生成,优点是实时动态更新、减少服务器负载、支持离线生成、SVG格式清晰可缩放,缺点是依赖JavaScript、可能影响客户端性能、增加页面加载体积、老浏览器兼容性问题。选择方案需根据应用场景权衡,产品展示页适合服务器生成图片,交互式系统适合客户端生成。
-
正确做法是用[aria-hidden="true"]配合绝对定位等样式隐藏元素,同时保持语义;[aria-expanded]需按值写属性选择器;[aria-disabled="true"]要与:disabled并用;避免用[role]选择器做样式主干。
-
函数声明会被完整提升,包括函数名和函数体;函数表达式仅变量名提升,赋值不提升;块级函数声明行为不统一,严格模式下受TDZ约束;箭头函数和class声明不享受函数声明式提升。
-
CSSLayoutInstabilityAPI仅报告布局偏移(如CLS),不追踪触发偏移的原始DOM属性变动;它能指出“页面某处跳了24px”,但无法告知是哪行代码(如style.height=‘auto’)导致,需配合MutationObserver等方案才能定位根本原因。
-
X-Content-Type-Options:nosniff对HTML无效,仅作用于外链JS/CSS等资源;它禁用浏览器MIME嗅探,防止text/plain等响应被误执行为脚本,配置需覆盖所有静态资源路径且避免被代理或location块覆盖。
-
transition对left+width失效是因为二者默认不触发重绘或合成层提升,且left需父元素设position:relative才生效、width在inline元素上无效;应改用transform:translateX()和scaleX()实现高性能平滑动画。
-
JavaScript通过原型链实现面向对象编程,每个对象都有指向其原型的内部链接,属性查找会沿原型链向上追溯直至null;函数的prototype属性用于构建实例的原型链,__proto__(或Object.getPrototypeOf)反映对象的原型连接,constructor默认指向构造函数,继承通过将子类原型设为父类实例实现,核心是原型链的拼接与查找机制。
-
使用input标签的type属性可创建多种日期选择器:1.type="date"选择年月日,格式YYYY-MM-DD;2.type="time"选择时间;3.type="datetime-local"选择日期和时间;4.type="month"选年月,type="week"选周;5.通过min、max和value设置范围和默认值,浏览器原生支持,无需JavaScript。
-
grid-column和grid-row的简写会覆盖单侧属性,混用时需确保简写在后;span表示跨轨道而非跨列;grid-area四数字写法更安全但不支持span;负数线号与end等价,起点固定才可靠。
-
li:nth-child(2)未选中第二个li,因其匹配父元素下第2个子节点且必须是li,若该位置为注释、div或空白文本节点则失效;而li:nth-of-type(2)只统计li标签序号,更稳定可靠。
-
路由平滑降级是前端针对低端设备优化跳转体验的实践策略:当检测到设备性能不足(如dpr<2、并发核数≤2、FPS<45或FCP>1800ms)时,自动降级为淡入、无动画等轻量过渡方式,保障响应速度与稳定性。
-
sub标签是唯一推荐方式,因其直接表达下标语义,确保浏览器、屏幕阅读器和搜索引擎正确解析;而vertical-align等CSS模拟方式会导致偏移不稳、可访问性缺失、PDF导出失效及CMS过滤等问题。
-
conic-gradient绘制饼图需注意角度基准(0deg在正右)、兼容性限制(IE/旧Safari不支持)、动态更新应使用CSS自定义属性而非拼接字符串、交互叠加需额外定位避免错位。