什么是重排(回流)和重绘?

  • 重排:部分或整个渲染树需要重新分析并计算节点尺寸 (display:none)
  • 重绘:节点属性或样式发生变化 (visibility:hidden)

盒模型

  • box-sizing: content-box 是标准盒模型(默认属性)
  • box-sizing: border-box 是 IE 盒模型

CSS 如何开启 GPU 加速?

transform、opacity、filter、will-change

GPU 渲染字体会导致字体模糊,过多的 GPU 处理会导致内存问题

传统布局方式有哪些?

普通流、浮动、定位

CSS 选择器权重

!important → 行内样式 → id → .class → 元素和伪元素 → * → 继承 → 默认

::before 和 :after 的双冒号和单冒号有什么区别?

  • : 用于伪类
  • :: 用于伪元素

CSS 隐藏元素方法有哪些?

  • display:none(不占位)
  • visibility:hidden(占位)
  • opacity:0
  • position:absolute
  • transform:scale(0, 0)
  • z-index: 负值

BFC 是什么?

页面上一个独立的容器,里面的子元素不影响外面的元素

触发 BFC 的条件有哪些?

  1. html 根标签
  2. float:不是 none
  3. overflow:不是 visible
  4. display:flex/grid/inline-block
  5. position:absolute/fixed

position 有哪些属性?

  1. 相对 relative
  2. 绝对 absolute
  3. 固定 fixed
  4. 粘性 sticky
  5. 静态 static