-
display:none彻底移除元素且不占空间,适用于真隐藏场景,但影响SEO、可访问性及JS尺寸计算;恢复显示需匹配原布局模式,推荐用class控制而非内联样式。
-
Date.prototype.getTime()方法返回Date对象距离UTC1970年1月1日00:00:00的毫秒数,用于将时间点转换为可计算的数字。1.它始终基于UTC,不受本地时区影响,适用于跨时区同步和时间计算;2.与Date.now()不同,getTime()可作用于任意Date实例,而Date.now()是获取当前时间戳的静态方法;3.valueOf()返回值等价于getTime(),但语义上更适合对象转原始值的场景;4.常见用途包括时间间隔计算、日期比较、前后端时间数据交换及生成临时唯一I
-
Set实现数组并集、交集、差集:并集用[...newSet([...arr1,...arr2])],交集用arr1.filter(x=>setB.has(x)),差集用arr1.filter(x=>!setB.has(x))并视需去重;引用类型需序列化或提取ID处理。
-
不能。placeholder绝对不能当label用,因其缺乏语义权重、不被屏幕阅读器稳定播报、未进入无障碍树,且W3C明确禁止替代label;必须使用显式label或aria-label确保可访问性合规。
-
图片未加载时应使用带宽高和aspect-ratio的div容器配合::before伪元素+内联SVG背景图实现骨架屏,真实图片绝对定位覆盖并监听onload平滑过渡,动画仅限opacity/transform且需适配DPR与prefers-reduced-motion。
-
同色系颜色需固定色相(h)和饱和度(s),仅调整亮度(l);浅色宜略降饱和、深色宜略提饱和;CSS中用自定义属性配合calc()生成调色板,但需注意Safari≤15.4不支持hsl()内嵌calc(),应预设变量;HSLA透明度渐变会发灰,应改用纯HSL明度梯度。
-
核心是用auto-fit与minmax()配合实现列数自适应:auto-fit会收缩空列,避免卡片压扁;minmax(280px,1fr)设定列宽范围;gap统一控制间距,比margin更可靠。
-
Grid子元素默认等高,因align-items:stretch使子项拉伸至行高;避免align-self:start、固定height或IE11兼容问题即可保持等高。
-
图片上hover用::after无效是因为img是替换元素,不支持伪元素;需外包容器并设position:relative,::after用absolute定位+opacity过渡防闪动,注意兼容性与字体回退。
-
JavaScript调试应善用DevTools断点与执行流控制而非仅靠console.log;优先使用debugger语句、合理设置异步断点、启用SourceMap、掌握console高级技巧及内存泄漏排查方法。
-
HTML5语义化标签通过明确内容含义提升SEO,如<header>、<nav>、<main>等标签帮助搜索引擎准确识别页面结构与重点信息,增强内容相关性判断,从而优化索引与排名。
-
box-sizing的content-box使width/height仅含内容区,border-box则让width/height包含padding和border;margin和padding在两种模式下均有效且行为不变,但border-box会压缩内容区宽度。
-
必须显式声明transition:background-color0.3sease,避免用all;初始和目标色值需同类型(如均用十六进制),且元素必须有明确background-color声明;移动端需设-webkit-tap-highlight-color:transparent。
-
filter:invert()不能真正“自动反转颜色”,因为它无差别逐像素取反,导致彩色文本消失、图标模糊、对比度崩坏,且不区分语义与背景/前景。
-
BEM通过单一顶层类名和显式子元素类名(如card__title)切断CSS对DOM结构的依赖,避免样式污染与定位漂移;禁止深层嵌套、伪类驱动状态及语义类名复用,强调类名即结构契约。