-
crypto.subtle.encrypt调用AES-GCM必须传入含name:"AES-GCM"、iv(Uint8Array,推荐12字节且不可复用)和tagLength(默认128,显式指定更安全)三字段的对象;additionalData可选但参与认证;密钥须为importKey导入的合法CryptoKey,不可为字符串。
-
正确使用word-break属性可避免单词被截断:优先选用normal或keep-all值,确保英文单词在空格处换行;搭配white-space:normal和固定宽度容器,提升文本可读性。
-
light-dark()是CSS原生函数,非HTML功能,仅在支持浏览器(Chrome121+、Safari17.4+、Firefox125+)的CSS规则中生效,用于根据系统偏好自动切换颜色,不可用于内联样式或JS直接调用。
-
应为CDN、API接口、字体服务、统计域名添加dns-prefetch;避免同源域名、跳转链接;href须以//开头且仅含主机名;需置于head最前;勿与preconnect混用同一域名。
-
伪元素下划线hover闪动的根本原因是::after初始未隐藏,导致渲染时先显示默认宽度再缩放;须设width:0+opacity:0,配合完整transition和position:relative定位。
-
答案是使用CSS3的transform、perspective和backface-visibility属性配合HTML结构实现3D卡片翻转。首先创建包含前后两面的card-container容器,通过设置perspective营造3D透视,利用transform-style:preserve-3d保持3D空间,使子元素旋转时不坍缩;.card应用transition实现过渡动画,hover时rotateY(180deg)触发翻转,.front与.back分别设置正背面样式,并用backface-visib
-
Less中url("@{var}/img.png")不生效,因变量需用~"@{var}/img.png"强制插值;路径值须匹配构建工具规则(如Vite用/img,Webpack用../assets/img),且应统一定义于paths.less中导入。
-
:visited伪类对<img>无效,因浏览器隐私限制仅允许作用于<a>且禁用filter;可靠方案是用JavaScript结合localStorage或class切换实现点击灰度效果。
-
Promise是异步流程控制的底层契约,其状态不可逆、then返回新Promise、catch仅捕获前序rejected,违背Promise/A+规范将导致静默失败或卡死。
-
过早晋升表现为老年代单次晋升量异常大(如>20MB/sec)、TenuringDistribution中年龄阈值骤降至2且age1对象占比过高、老年代呈阶梯式增长且FullGC释放极少;需排除大对象直入、System.gc()及GC算法差异干扰。
-
最有效解法是正确使用.clearfix类:必须包含content:"";display:table;clear:both,且加在直接包裹浮动子元素的父容器上;单独写clear:both在父元素上无效,因clear只影响自身位置,不解决父容器无法感知浮动子项的高度塌陷问题。
-
直接删掉冗余的<div>和<span>比任何CSS/JS优化都有效;DOM节点超2000时,低端设备layout耗时呈指数级增长。真正拖慢渲染的是人为嵌套的“结构惯性”,如多层<div>套娃、误用<ul>渲染表单、SSR空wrapper、图标单独包层等;应优先用::before/after、gap、outline、语义化标签(如<fieldset>)替代;可通过document.querySelectorAll('*').length快速检测节点
-
@media(color-gamut:p3)仅检测设备P3能力,不触发颜色升级;要显示更鲜艳色必须用color(display-p3)函数配合@supports检测,并提供sRGBfallback。
-
autofocus仅对原生可聚焦且处于可交互状态的表单元素有效,如text、email、textarea、select、button等;在iOSSafari中静默失效,动态插入、隐藏、禁用或非可聚焦元素上均无效。
-
移动端分栏堆叠失效的根本原因是viewport缺失、父容器未设flex-wrap:wrap、子项使用固定宽或百分比硬编码;应改用flex:1或grid配媒体查询,配合max-width和响应式gap、line-height等。