-
input::placeholder不生效主因是浏览器兼容性(Safari15.4+才稳定支持::placeholder,旧版需加前缀)和CSS优先级冲突;深色主题下宜用color:#999+opacity:0.7;Tailwind需用dark:placeholder:text-gray-500,styled-components应避免模板字符串内写::placeholder。
-
clear:both失效的根本原因是浮动元素与clear元素不在同一BFC中;它仅使当前元素border-top避开同BFC内前序浮动元素的外边缘,若被不同BFC隔离或脱离文档流则完全失效。
-
直接用@keyframes+animation可实现可靠高性能滑入动画:定义slideIn关键帧使元素从translateX(-20px)/opacity:0到translateX(0)/opacity:1,再通过animation:slideIn0.4sease-outforwards应用,注意避免display:none、overflow:hidden等导致失效,并分离slide-in/slide-out逻辑确保多次进出稳定。
-
IDBValidKey包括字符串、数字(NaN和Infinity除外)、Date对象及元素均为IDBValidKey的数组,因其需满足唯一排序、稳定序列化和无歧义比较;null、undefined、对象、布尔值因破坏这些原则而被禁止。
-
css-vars-ponyfill是IE下支持CSS自定义属性的最可行方案,它在运行时解析并替换var(),支持嵌套、calc()内使用、动态更新及媒体查询作用域,但需注意IE对calc()+var()的兼容限制和动态更新时需显式触发重计算。
-
animation-iteration-count:infinite不生效的常见原因包括:未设置animation-duration、@keyframes缺少0%/100%或二者相同、animation-fill-mode未设为forwards/both、animation-play-state:paused或will-change导致异常,以及元素隐藏、JS重置动画或系统偏好reducesmotion。
-
@import在模块化项目中无法按需加载,因其是同步阻塞的原生CSS规则,不参与JS模块依赖图,Webpack/Vite默认不支持其条件加载或拆分,导致全量打包;推荐改用JS层动态importCSS、CSSModules配合提取插件或CSS-in-JS方案。
-
在SCSS中实现响应式悬浮效果应封装@media(hover:hover)and(pointer:fine)的mixin,而非依赖max-width断点;因悬停能力取决于输入设备(如鼠标/触屏),非屏幕尺寸,且需配合:active与cursor:pointer保障触摸反馈。
-
::first-letter中font-family不生效的根本原因是其仅继承父元素显式声明的字体,不拾取系统默认或UA样式表fallback;必须在父元素(如p)上明确设置font-family并确保WebFont加载完成。
-
直接用width在响应式表格中失效,是因为th和td宽度需同步计算,而浏览器默认独立处理;必须配合CSS变量+table-layout:fixed才能实现列宽一致。
-
能,但需拆分为多个独立动画并行触发而非叠加;若同时修改transform等属性,后声明的会覆盖前一个;推荐在单个@keyframes中用复合transform实现同步效果。
-
优先选position:fixed;它不依赖父容器滚动状态,能真正钉在视口顶部,而sticky在根元素上行为不可靠且易受transform/filter等属性干扰。
-
RemotePlaybackAPI不处理原始流媒体,仅控制标准媒体元素的可播放资源;需将裸流封装为HLS/DASH/MP4等URL或MediaSource,再通过控制层(API)与数据层(服务端转发)分离实现异步播放。
-
figure适用于内容可抽离且不影响主文逻辑的场景,如架构图、API响应示例等;figcaption须为直接子元素且唯一,与alt分工明确,不可互换。
-
Object.isExtensible仅检测对象是否可扩展,不可修改;真正控制可变性的是preventExtensions、seal和freeze三个不可逆方法,对应业务生命周期的草稿、待审核、已确认、归档四阶段。