-
必须同时设置value和max属性才能渲染progress标签;仅设value会失效,max默认为100但需显式声明;value超max会被截断,IE11及以下不支持,需降级;JS更新需防抖、用requestAnimationFrame、统一计算百分比;样式兼容性差,Chrome/Firefox伪元素规则不同;复杂需求应改用div+ARIA手写方案。
-
will-change不能自动消除卡顿,而是提前告知浏览器优化意图;需精准作用于即将变化的transform或opacity等合成属性,在交互触发时动态添加、动画结束立即移除,并配合transform/opacity避免重排重绘。
-
daisyUI的glass类最省事,它开箱即用、自动处理backdrop-filter和-webkit-backdrop-filter;不用则需手动配置backdropBlur映射、清缓存重构建,并确保半透明背景、无overflow:hidden、背后有内容,同时兼容Safari需加WebKit前缀。
-
不一定;async仅确保下载不阻塞HTML解析,但执行时会中断DOM构建、不保序、不可控,仅适用于完全独立、无DOM依赖的脚本(如统计、广告SDK)。
-
navigator.cookieEnabled返回布尔值,true表示当前页面同源Cookie启用,false表示被明确禁用;它不检测第三方Cookie,也不反映StorageAPI状态,主流浏览器均支持。
-
最可靠的方式是通过服务器响应头配置X-Frame-Options或Content-Security-Policy;前端JS检测(如top!==self)和meta标签均不可靠,易被绕过或完全失效,且现代浏览器已忽略meta方式。
-
<time>标签必须带符合ISO8601规范的datetime属性才具语义有效性,仅文本内容无法被解析;支持日期型、日期时间型、周/年/月型三类格式,且需确保机器可读、逻辑一致、不嵌套。
-
<p>backdrop-filter直接写死易失效,因Safari等需-webkit-前缀、半透背景及will-change触发GPU加速;Less混合器可统一注入前缀、rgba透明底色和will-change,确保兼容性与性能。</p>
-
应避免滥用<hr>,它仅适用于主题段落间的语义分隔;多数视觉分隔需求应使用<divclass="divider">配合CSS实现,兼顾样式可控性、可访问性与暗色模式支持。
-
用CSStransform:scale()配合:hover可实现无JS图片放大,但需设transform-origin:center防偏移,加image-rendering提升清晰度,用cubic-bezier优化缓动,并注意响应式与高DPR适配。
-
移动端垂直布局应使用flex容器+column方向+flex-grow实现弹性拉伸,而非height:100vh;因100vh在iOSSafari等浏览器中会包含地址栏高度且软键盘弹出时不重算,导致截断或错位。
-
event.persisted===true是页面状态需抢救的唯一可信信号;它在pagehide中标识bfcache或冻结,pageshow中需校验该值及localStorage存在性才恢复,且仅同步可序列化字段。
-
BEM能清晰划分Dashboard小组件边界,因其通过Block(如sidebar、chart-card)定义独立可复用组件,Element(如chart-card__header)限定作用域内子元素,Modifier(如chart-card__filter-bar--collapsed)仅描述状态,杜绝样式泄漏与嵌套混乱。
-
<p>Less中calc()不能直接嵌套变量,需用~"calc(@{var}*1.2)"插值;响应式字体应封装为mixin并配合媒体查询兜底,单位须统一且运算提前完成。</p>
-
Reflect是ES6引入的内置对象,提供统一函数式接口集中管理JavaScript底层操作,与Proxy配合可实现元编程。它将原本分散的操作(如属性读写、函数调用)规范化为静态方法,如Reflect.get()、Reflect.set()、Reflect.has()等,均返回布尔值以提升操作可靠性,并支持receiver参数确保this正确绑定。相比传统命令式写法,Reflect更利于错误处理、逻辑扩展和代理透传,是实现响应式系统(如Vue3)的基础工具。