-
BEM要求header__logo不能直接塞进<header>,因为BEM的Block(如site-header)必须是可复用、职责明确的独立模块,而原生<header>是文档级语义容器,逻辑可能跨页面不一致;应保留<header>标签保障SEO与无障碍,BEM类名加在其内部子元素上,如<headerclass="site-header"><divclass="site-header__logo">...&
-
Grid布局中“换行异常”实为grid-auto-flow默认row流向与预期column流向不一致所致;应根据需求选用row/column/dense流向,配合grid-template-columns、grid-auto-rows等控制轨道尺寸与填充顺序。
-
HTML布局核心是语义化结构而非视觉对齐:语义标签定义逻辑骨架,Flex/Grid控制流向,响应式交由CSS处理;<header><main>等不可替换为div,因其承载浏览器、辅助技术和SEO的解析锚点。
-
绝大多数场景无需本地环境,直接用在线HTML编辑器即可;常见错误是缺失HTML结构或script位置不当,需按编辑器规则处理JS执行时机、CSS作用域及导出依赖问题。
-
width本身不使元素变大,但content-box下实际宽度=width+padding+border;改用border-box可让width表示总宽;flex/grid中width还受flex-basis、min/max-width等影响。
-
设置HTML页面编码的目的是确保浏览器正确解析字符集以避免乱码,最常用方法是在<head>中添加<metacharset="UTF-8">。若设置错误,会导致显示乱码、数据存储异常甚至安全漏洞。除<meta>标签外,还可通过服务器配置HTTP头部Content-Type:text/html;charset=UTF-8来设置编码,此方式优先级更高。此外,UTF-8具备通用性,支持所有语言字符,且对ASCII字符存储高效,因此推荐使用。
-
CSS变量本身不响应,需在@media中对:root重复赋值才能触发变化;变量名应语义化如--spacing-sm;初始值设移动端默认,断点内显式覆盖;calc()要求单位完整;IE不支持,需PostCSS降级;断点值不能用于@media条件。
-
Flex布局需配合主轴/交叉轴控制、flex简写隐式行为等属性才能生效:仅设display:flex子项不会等宽或居中;flex:1以0为基均分空间,flex:auto以内容宽为基易溢出;卡顿时宜用flex:0050%替代width:50%。
-
无障碍树在ChromeDevTools中称为Accessibility标签页,位于Elements面板右侧,需手动点击展开并选中元素后查看。
-
RGBA颜色通过红绿蓝分量和阿尔法通道控制透明度,alpha取值0到1,常用于半透明背景、遮罩层和文字阴影等场景,相比十六进制透明更直观且兼容性好。
-
表单提交必须先调用event.preventDefault()阻止默认行为再校验,否则校验无效;邮箱用/^\S+@\S+.\S+$/、手机号用^1[3-9]\d{9}$即可;正则前需trim();密码等业务规则前后端均需校验;实时校验要防抖;blur时必校验;错误提示须绑定具体字段并支持无障碍。
-
DecompressionStream仅异步解压二进制数据,输出ArrayBuffer或Blob,不还原DOM;需先序列化HTML再解压,再用DOMParser或innerHTML安全重建节点,并手动恢复状态与事件。
-
箭头函数不是语法糖,它与普通函数在this绑定、不可new调用、无arguments三方面存在本质区别,直接替换易引发隐性bug。
-
闭包不是IndexedDB游标内存压力的直接原因,真正问题是游标遍历中意外长期持有大对象引用;需检查onSuccess回调是否缓存value、事务生命周期是否错配、continue()是否被阻断、以及批量处理时是否过度暂存数据。
-
WebWorker仅对计算型长任务有效,不能加速DOM操作或网络请求;适合图像处理、加密等CPU密集任务,50ms以上才值得抽离;需用transferable避免内存翻倍;路径和调试需注意独立上下文;移动端内存受限需主动降级和清理。