-
grid-column-gap仅控制列间间距,不处理容器左右外边距;需配合padding实现视觉等距,推荐用gap+padding+auto-fit响应式布局。
-
优先用letter-spacing实现视觉字距调整,因其不干扰语义与可访问性;需保留空白或不可折行时才用空格实体;letter-spacing对所有字符一视同仁,中英文混排易割裂,宜配合text-rendering优化。
-
IE浏览器不支持HTML5原生API,应通过特性检测而非UA判断来适配;IE8–9需用Flash回退video/audio,IE7–8可用userData模拟localStorage;推荐使用Babel自动注入polyfill。
-
Bootstrap的container类会自动添加左右内边距(padding),导致内容两侧出现白边;只需移除该类或改用container-fluid即可消除默认间距。
-
优先用transition处理简单状态切换,如hover、toggle;需多步变化、循环或复杂时序时用animation。二者可共存,但需注意性能、兼容性及无障碍支持。
-
使用position:fixed实现弹窗遮罩,通过top:0、left:0、宽高100%覆盖视口,结合flex居中弹窗,z-index确保层级最高,JS添加body.overflow-hidden防止滚动穿透,点击遮罩关闭并恢复滚动。
-
JavaScript模块化分CommonJS和ES6两种:前者用require/module.exports,同步动态加载,Node原生支持;后者用import/export,静态编译解析,浏览器原生支持,具实时绑定与循环引用优化。
-
根本原因是外边距折叠、空白字符间隙或继承干扰;应优先用gap管理Flex/Grid间距,传统布局需防折叠并统一单侧margin。
-
:nth-child()的“序号”指元素在父元素所有子节点中的绝对位置(从1开始),与类型、可见性、类名无关;如<ul>中<li>A</li><p>B</p><li>C</li>,第二个li是第3个子元素,需用li:nth-child(3)。
-
原生CSS响应式适配工作量大,因需手动写@media断点、测多设备参数、处理老浏览器flexfallback及iOSSafariviewportbug;Tailwind通过sm:、md:等前缀在构建时生成真实CSS规则,实现“声明即适配”;Bootstrap5以container-fluid和g-3等现代工具类提供开箱即用的栅格与间距方案;但字体、图片srcset、表单样式等细节仍需手动处理。
-
transition-delay不生效通常因CSS覆盖、状态未变化或写法错误;须在初始状态定义完整transition,避免仅在hover中设置delay,且确保属性可过渡、值发生改变。
-
localStorage和sessionStorage生命周期与作用域不同:前者同源永久存储,适合用户偏好;后者仅限当前标签页,适合临时数据。二者均只支持字符串,存对象需JSON序列化,且有跨源、私密模式等限制。
-
grid-template-areas是CSS中用于通过字符串网格图定义命名区域的布局属性,本质是声明式布局而非语法糖;它提升可读性、语义化和协作效率,支持用“.”表示空白,并需严格匹配子元素的grid-area值。
-
align-items:center垂直居中生效需父容器设display:flex且有明确高度(如height、min-height);主轴为row时控制交叉轴(垂直),改为column则控制水平,此时需justify-content:center。
-
通过transition属性可让多个CSS属性同时过渡,如transition:all0.3sease或列出具体属性;常用于按钮悬停等交互效果,确保变化平滑。