-
最常见原因是目标元素未设置明确宽度或设为width:100%,且需确保其为块级元素;Flex居中失效多因父容器未启用flex或子元素脱离文档流;text-align只影响行内内容;Grid居中需父元素为display:grid且子元素未覆盖居中声明。
-
justify-content:space-between并非万能:单子项时退化为flex-start,多行时仅作用于每行内部,固定间隙需改用gap;稳健工具栏应依赖gap+align-items+明确容器控制。
-
微任务在每次宏任务结束后同步、一次性清空:先执行当前宏任务中同步代码,再清空全部微任务(如Promise.then、queueMicrotask),最后执行下一个宏任务(如setTimeout)。
-
用HTML+CSS实现可叠加buff图标需以<divclass="buff-container">为父容器(设position:relative),每个buff用独立<divclass="buff-item">包裹<img>图标和倒计时<span>,通过position:absolute结合transform:translate()或极坐标计算位置实现环形排列,JavaScript动态增删元素并用performance
-
display决定元素布局角色,盒模型定义其空间结构;block、inline、inline-block等值影响盒模型应用方式,配合box-sizing可精确控制尺寸与布局表现。
-
CSS框架因预设大量样式导致冗余、选择器低效、响应式规则阻塞解析,天然难达极致性能;Tailwind需配置content裁剪、禁用未用变体、避免@layer绕过清理;Bootstrap5须Sass源码定制导入;自研原子系统更轻但需工具生成、静态可分析、合并文件。
-
br标签仅用于同一语义单元内固定位置的强制换行,如地址、诗歌、表单提示;不可替代段落或布局,否则损害可访问性、响应式及国际化。
-
移动端优化需主动干预,包括添加viewport标签、禁用touch高亮与延迟、设置触摸目标≥44px、字体≥16px、校准字体渲染及行高。
-
HTML页面加载是流式解析与多线程协作过程:DOM和CSSOM必须同时就绪才能构建渲染树;script(无async/defer)会阻塞HTML解析,CSS不阻塞解析但阻塞渲染和DOMContentLoaded。
-
Vue的watch监听不到数组变化是设计逻辑决定的,因默认只监听引用变化,不追踪内部内容变动;需用函数式监听+deep、监听length表达式或精准监听某项字段等正确方式。
-
动画类名必须是--modifier,如.modal--fade-in,不可独立为.fade-in;须与CSS动画声明严格对齐,禁止嵌套修饰符,命名应语义化表达意图而非视觉参数。
-
display属性决定元素布局方式,常用值包括:1.block用于独占一行的块级布局;2.inline实现文本内同行显示;3.inline-block兼具行内与块特性,可设宽高且同行排列;4.none使元素不渲染并脱离文档流;5.flex实现一维弹性布局,适用于导航与居中;6.grid支持二维网格布局,适合复杂页面结构;7.table类值模拟表格样式,用于对齐或等高布局;8.contents隐藏容器只渲染子元素;9.list-item实现列表项目效果;10.run-in根据上下文切换显示类型(少用)。合理
-
super关键字在JavaScript类继承中用于调用父类构造函数、方法和属性,其绑定基于类定义时的静态连接而非动态绑定。在子类构造函数中必须调用super()以初始化父类并绑定this;在实例方法中使用super.method()时,会从父类原型查找方法;在静态方法中则访问父类的静态方法。JavaScript引擎通过[[Prototype]]链建立子类与父类的关联,并利用[[HomeObject]]机制确保super沿正确原型链向上查找。super只能在子类方法中使用,箭头函数无独立super而继承外层
-
设tabindex="0"可使自定义元素(如div、span)按DOM顺序加入键盘Tab导航流;tabindex="-1"仅支持JS主动聚焦;正数tabindex易破坏焦点逻辑,应避免。
-
Bulma通过.columns和.column类封装Flexbox布局,实现响应式设计;使用.is-centered和.is-vcentered控制对齐,.buttons和.field.is-grouped用于按钮与表单布局,结合.is-mobile、.is-multiline等辅助类可灵活调整显示效果。