-
关键在于用带透明度的linear-gradient叠加半透色而非纯色,如rgba(0,0,0,0.4),透明度宜选0.2–0.6;可依图文位置设方向渐变,配合background-blend-mode(如multiply)及background-size:cover等确保融合自然。
-
<p>左滑删除需用touchstart、touchmove、touchend三阶段手动计算水平位移:touchstart记录startX,touchmove实时算deltaX=currentX-startX并限定deltaX<-阈值,touchend判定触发删除。</p>
-
纯CSS无法实现点击位置波纹效果,因:active伪元素无法获取鼠标坐标;必须用JS计算点击偏移并设CSS变量,配合transform:translate(-50%,-50%)定位,再用overflow:hidden或clip-path裁剪。
-
浮动元素的margin常“失效”是因为其脱离普通文档流,垂直方向margin被忽略或合并;水平margin通常有效,垂直间距宜用padding或BFC解决;现代布局应优先使用flex或grid。
-
itemtype属性用于声明itemscope元素所描述的事物类型,必须是可验证的HTTPSURL,如https://schema.org/Person;写错协议、路径或类型会导致结构化数据失效。
-
viewport-fit=cover是env()生效的硬性前提,不加则iOS上env(safe-area-inset-bottom)恒为0px;必须在meta中完整声明width=device-width、initial-scale=1.0和viewport-fit=cover,缺一不可。
-
::marker{color:red}未生效,是因为部分旧版浏览器(如旧Safari/Firefox)对::marker支持有限,且::marker不继承li的color,但可能受ol的color影响;需显式为li::marker设置color并隔离文字色,兼容性差时应降级使用list-style-type:none+counter()模拟。
-
<picture>仅在需根据设备特性动态切换图片源时才必须使用,如格式降级、DPR适配、多尺寸响应或print媒体指定;否则应坚持使用语义清晰、轻量的<img>。
-
<p>九宫格需设flex-wrap:wrap且flex-direction:row,用flex:00calc(33.333%-4px)锁等宽,gap不兼容旧iOS需@supports降级为margin并清除末尾间距,格子min-height:44px+touch-action:manipulation确保可点。</p>
-
Permissions-Policy已取代Feature-Policy,旧头在Chrome100+等浏览器中静默失效;必须使用Permissions-Policy响应头和allow属性(分号分隔、括号指定来源),且需明确控谁、控什么、在哪控。
-
Map迭代天然无序,需显式排序构建有序字典:可通过key切片排序、维护插入顺序或使用有序map库实现,避免依赖偶然顺序。
-
原生JavaScript实现表格搜索需避开五大翻车点:用input而非keyup保证粘贴/自动填充响应;显式声明tbody并用querySelectorAll('tbodytr')避免兼容问题;逐单元格trim后匹配,不只查第一列;500+行时缓存rowData减少DOM访问;多表格通过data-target显式绑定,空搜索恢复所有行并自动选中文本。
-
<metacharset="UTF-8">必须置于<head>最开头,因浏览器边下载边解析,若此前出现中文或emoji,会按默认编码(如ISO-8859-1)错误解码致乱码且不可逆;位置错、大小写错或文件实际编码不匹配均会导致失效。
-
下划线指示器需用独立元素+transform+transition实现平滑移动,核心是通过getBoundingClientRect()动态读取激活标签位置并用requestAnimationFrame确保重排后更新,配合resize/fontload兜底,封装updateTabIndicator统一处理所有变更场景。
-
font-display:swap是响应式字体加载的默认起点,因小屏设备弱网弱CPU下block或auto会白屏约3秒,swap用系统字体即时渲染、加载完再替换,虽有布局偏移但优于白屏;需搭配合理回退链、各字重单独声明、WOFF2子集及preload+crossorigin等协同优化。