-
外边距塌陷是CSS中块级元素垂直外边距合并的现象,实际间距取两者中的较大值。常见于相邻兄弟元素、父子元素及空元素间,主因是CSS为文本排版设计的默认行为。解决方法包括:添加border或padding、设置overflow触发BFC、使用flex/grid布局、统一单方向margin或用padding替代。理解其机制可有效避免布局问题。
-
rem是相对于根元素font-size的缩放单位,需动态设置html字体大小以实现响应式;vw在移动端存在软键盘导致的视口bug;rem与vw混用须统一基准,避免逻辑冲突;字体渲染差异要求预留视觉容差。
-
使用::placeholder伪元素可设置输入框占位符的样式,如颜色和字体大小,需注意浏览器兼容性及透明度问题,建议添加厂商前缀以支持旧版浏览器,同时保证可读性和无障碍设计。
-
Flex布局天然支持子项等高,父容器设display:flex即可实现;需注意清除浮动、设置box-sizing:border-box、避免height:100%及IE兼容性问题。
-
若HTML工具响应迟缓,可通过Windows任务管理器监控其进程:一、定位Code.exe等对应进程;二、观察CPU持续超30%、内存超800MB;三、检查磁盘/网络I/O突增超10MB/s;四、核实GPU占用及硬件加速状态;五、禁用node/python子进程关联的扩展。
-
float多栏错位主因是脱离文档流致父容器塌陷及宽度超100%;须清除浮动、用box-sizing:border-box、避免float与flex混用,IE8需兼容处理。
-
display:none完全移出可访问性树,visibility:hidden保留在树中但不可见,aria-hidden="true"仅屏蔽辅助技术读取。三者对屏幕阅读器影响不同,需依语义和交互需求选择。
-
现代事件绑定首选addEventListener,支持多监听器、可移除、语义清晰;避免onclick属性或赋值覆盖;动态元素需事件委托;慎用preventDefault和stopPropagation;移动端可禁用缩放消除click延迟。
-
link标签必须放在head里,否则因浏览器自上而下解析会导致样式未就绪即渲染,引发闪屏或错乱;rel="stylesheet"不可省略,href路径需准确,且应优先使用link而非@import或内联样式。
-
最直接方案是display:inline-block,但需处理空白符缝隙;现代推荐flex(需设flex-wrap:nowrap)或grid(需定义grid-template-columns);float已淘汰。
-
纯CSS可关闭侧边抽屉用checkbox+label+:checked实现,需确保ID与for匹配、避免display:none影响过渡、用transform/visibility控制显隐,注意移动端触控优化及IE11兼容性。
-
通过结合CSS的transition、transform与Flexbox、Grid布局,可实现高效流畅的动画交互。首先transition定义过渡效果,transform执行旋转缩放等视觉变化,二者配合用于按钮悬停、菜单展开等场景;在Flexbox中利用transform实现元素浮起动画,不触发重排,性能优越;Grid布局虽不支持grid属性直接动画,但可通过transition平滑切换class状态,配合transform实现模块扩展效果;实际应用中应优先使用GPU加速属性如transform和opac
-
float:left虽可使页码横排,但导致父ul塌陷、边框错位、hover跳动;推荐flex布局替代,简洁可靠,现代项目应优先采用。
-
-webkit-line-clamp仅在display:-webkit-box且-webkit-box-orient:vertical时生效,缺一不可;Firefox不支持,需JS回退;现代CSSline-clamp仍需前缀或实验性启用。
-
在HTML5中定义JavaScript函数需在<script>标签内:一、用function声明命名函数(可提升);二、赋值匿名函数给变量(不提升);三、用箭头函数简化表达式;四、挂载到window实现全局调用;五、用DOMContentLoaded确保DOM就绪后执行。