-
ServiceWorker注册失败主因是路径或作用域错误:路径须为根目录相对路径(如"/sw.js"),scope需显式设为"/"才能覆盖全站;必须HTTPS(localhost除外),且页面加载完成后注册。
-
Bootstrap5通过:root定义CSS变量实现主题切换,需在BootstrapCSS后注入变量、同步更新配套变量,并用data-bs-theme属性控制以避免冲突。
-
最可靠方案是使用原生<video>标签,需指定src或<source>、加controls属性、用preload="metadata",路径错误和格式不支持是常见失败原因。
-
结论:用SassMixin封装图片裁剪mask逻辑时,应通过$mask-url参数传入路径,同时输出-webkit-mask-image和mask-image,并将mask-mode、mask-size等设为可选参数,默认unset,避免写死导致复用性崩塌。
-
scroll-snap-type必须配合scroll-snap-align才生效;容器设ymandatory时子项须设start/center/end;方向需匹配实际滚动轴;mandatory强制停靠,proximity仅就近停;iOS需明确高度和硬件加速。
-
readonly保留值提交且支持聚焦复制,disabled禁用交互且不提交值;readonly仅对text/password/textarea有效,disabled全支持;需“禁用但提交”时应配合hidden字段。
-
响应式机制有性能影响,但主要瓶颈在于不当的数据设计与渲染逻辑;应避免过度响应化、优化渲染层、精简依赖追踪,并合理利用Vue3的Proxy特性。
-
@supports是CSS条件规则,用于声明式控制样式是否生效,不触发网络请求;需全写属性+值,支持and/or/not组合,兼容现代浏览器但IE完全不支持,不能实现按需加载CSS文件,该由JavaScript配合CSS.supports()实现。
-
应通过媒体查询控制元素的animation属性而非@keyframes;移动端用ease-out、时长≤0.35s,桌面端可用复杂缓动及时长0.5s;优先用prefers-reduced-motion禁用动画,老旧安卓可结合JS检测加no-animation类;transition适合状态切换,animation适合精确时序;will-change需谨慎动态添加,移动端推荐translateZ(0)替代。
-
HTML5转APP后无法直接读取短信验证码,因系统安全限制禁止Webview访问短信数据库;唯一合规方案是使用autocomplete="one-time-code"的自动填充,需短信格式规范、HTTPS环境及用户开启系统自动填充开关。
-
使用BlueGriffon制作网页需注意兼容性:1.采用HTML5的<!DOCTYPEhtml>声明避免怪异模式;2.确保字符编码为UTF-8,禁用废弃标签,通过W3C验证工具检查代码合规性;3.减少内联样式,避免-moz-等引擎私有前缀,补充-webkit-、-ms-、-o-等跨浏览器前缀;4.在Chrome、Safari、Edge中测试页面渲染,利用开发者工具排查布局问题。尽管BlueGriffon基于Gecko引擎,仍需手动优化以确保多浏览器一致性。
-
@use替代@import是因后者破坏作用域隔离、引发全局污染,而@use强制命名空间访问、支持私有成员和安全透传;@forward用于样式透传并控制可见性;需用DartSass、注意工具链兼容性及团队协作规范。
-
font-display是@font-face中控制字体加载期间文本显示行为的描述符,可避免FOIT白屏或优化FOUT体验;常用值包括swap(立即回退后替换)、fallback(短阻塞后回退)和optional(仅缓存命中时使用)。
-
requestIdleCallback在浏览器明确判定主线程空闲(如帧结束、无高优任务)时触发,优先级低于rAF,空闲时间默认上限50ms,需支持中断恢复、避免同步阻塞与强制布局,任务粒度要细以适配动态空闲时间。
-
浮动元素无法撑开父容器高度,是因为其脱离文档流导致父容器无法感知其尺寸;推荐使用伪元素clearfix清除浮动,现代布局应优先选用Flex或Grid。