-
font-display必须显式设为swap以避免首屏白屏,它用系统字体先渲染再替换;preload字体需加crossorigin、as="font"和type;只用woff2格式;启用font-optical-sizing:auto提升可读性。
-
可用纯CSS实现抽象化猫Loading动画:通过clip-path裁剪与transform逐帧驱动,配合@keyframes控制耳朵抖动(错峰延迟+非线性缓动)、眯眼呼吸(异步scaleY+自定义cubic-bezier)及顿挫式尾巴摆动(steps(2,end))。
-
flex子项不收缩是因默认min-width:auto限制,需显式设min-width:0解除;配合flex:110、white-space:nowrap、overflow:hidden、text-overflow:ellipsis才能实现省略号效果。
-
flex居中失效最常见的原因是父容器未设display:flex,或子元素脱离文档流;需确认父容器启用flex、子元素未用absolute/floating,且父容器有明确高度。
-
CSS变量不能在content属性中直接使用,因规范限制content仅支持字符串、attr()、counter()等特定值;可用counter-reset配合counter()间接显示数字变量值。
-
直接结论:在滚动容器上加overflow-anchor:none能关闭浏览器自动滚动补偿,避免内容插入时视口跳动;但必须配合“触底检测”逻辑,否则用户向上翻页时新消息会把当前阅读位置顶走。
-
position:sticky在flex布局中失效,因flex容器默认不创建滚动上下文;应改用fixed定位或确保父容器有明确高度和overflow-y:scroll,并避免transform等干扰属性。
-
本文详解如何通过维护当前索引、重构数据结构与分离关注点,实现宝可梦图鉴中按需渲染单个条目(如初始显示妙蛙种子),而非一次性显示全部数据。
-
HTML弹窗被拦截时浏览器静默失效,不抛错、不返回失败值、不触发回调;需在用户手势上下文(如click事件)中同步调用window.open(),或采用预留窗口('about:blank')再导航的合规方案。
-
navigator.deviceMemory返回近似分级值(如0.5、1、2、4、8GB),非精确内存容量,仅Chrome63+和Edge79+支持,Firefox/Safari不支持,HTTP下返回undefined,需结合hardwareConcurrency等信号综合判断并降级。
-
formnovalidate属性必须加在<buttontype="submit">或<inputtype="submit">上且位于<form>内;它仅对提交按钮生效,用于单按钮跳过校验,与表单级novalidate互斥但优先级更高。
-
linkrel="preload"as="image"失效主因是路径无效、类型不匹配、时机过晚或MIME不符;应置于head顶部、验证Content-Type、配合fetchpriority="high"精准预加载首屏关键图。
-
tfoot必须写在tbody前面,因为HTML规范强制要求该顺序;浏览器解析时若发现tfoot在tbody后会自动重排DOM,导致CSS定位失效、JS节点顺序异常、打印错乱及首屏优化失败。
-
sticky失效的根本原因是父容器未形成可滚动上下文:高度不足、overflow:hidden/auto/scroll截断、未设top等偏移值,或父容器高度≤sticky元素自身高度。
-
arc()是圆弧路径构造函数而非绘图命令,需配合beginPath()、stroke()/fill()及样式设置才能显示;参数中角度单位为弧度,x/y为圆心坐标,radius≥0,anticlockwise控制绘制方向。