主题
CSS
1. 盒模型
页面渲染时, dom 元素所采用的 布局模型 。可通过 box-sizing 进行设置。根据计算宽高的区域可分为
content-box(W3C标准盒模型)border-box(IE盒模型)padding-boxmargin-box(浏览器未实现)
2. BFC
块级格式化上下文, 是⼀个独立的渲染区域,让处于 BFC 内部的元素与外部的元素相互隔离,使内外元素的定位不会相互影响。
IE 下为 Layout , 可通过 zoom:1 触发
触发条件:
- 根元素
position: absolute/fixeddisplay: inline-block / tablefloat元素ovevflow !== visible
规则:
- 属于同⼀个
BFC的两个相邻Box垂直排列 - 属于同⼀个
BFC的两个相邻Box的margin会发生重叠 BFC中子元素的margin box的左边, 与包含块(BFC) border box的左边相接触(子元素absolute除外)BFC的区域不会与float的元素区域重叠- 计算
BFC的高度时, 浮动子元素也参与计算 - 文字层不会被浮动层覆盖,环绕于周围
应用:
- 阻止
margin重叠 - 可以包含浮动元素 —— 清除内部浮动(清除浮动的原理是两个
div都位于同⼀个BFC区域之中) - 自适应两栏布局
- 可以阻止元素被浮动元素覆盖
3.层叠上下文
元素提升为⼀个比较特殊的图层,在三维空间中 (z 轴) 高出普通元素⼀等。
触发条件
- 根层叠上下文(
html) positioncss3属性flextransformopacityfilterwill-changewebkit-overflow-scrolling
层叠等级:层叠上下文在 z 轴上的排序
- 在同⼀层叠上下文中, 层叠等级才有意义
z-index的优先级最高
4. 居中布局
水平居中
- 行内元素:
text-align: center - 块级元素:
margin: 0 auto absolute+transformflex+justify-content: center
垂直居中
line-height: heightabsolute+transformflex+align-items: centertable
水平垂直居中
absolute+transformflex+justify-content+align-items
5. 选择器优先级
!important> 行内样式 >#id>.class>tag>*> 继承 > 默认- 选择器 从右往左 解析
6. 去除浮动影响, 防止父级高度塌陷
- 通过增加尾元素清除浮动
:after/<br>:clear: both- 创建父级
BFC - 父级设置高度
7. link 与 @import 的区别
link功能较多, 可以定义RSS,定义Rel等作用, 而@import只能用于加载css- 当解析到
link时, 页面会同步加载所引的css, 而@import所引用的css会等到页面加载完才被加载 @import需要IE5以上才能使用link可以使用js动态引入,@import不行
8. CSS 预处理器(Sass/Less/Postcss)
CSS 预处理器的原理: 是将类 CSS 语言通过 Webpack 编译 转成浏览器可读的真正 CSS 。在这层编译之上, 便可以赋予 CSS 更多更强大的功能, 常用功能:
- 嵌套
- 变量
- 循环语句
- 条件语句
- 自动前缀
- 单位转换
mixin复用
9. CSS 动画
transition: 过渡动画
transition-property: 属性transition-duration: 间隔transition-timing-function: 曲线transition-delay: 延迟- 常用钩子:
transitionend
animation / keyframes
animation-name: 动画名称,对应@keyframesanimation-duration: 间隔animation-timing-function: 曲线animation-delay: 延迟animation-iteration-count: 次数infinite: 循环动画
animation-direction: 方向alternate: 反向播放
animation-fill-mode: 静止模式forwards: 停止时,保留最后⼀帧backwards: 停止时, 回到第⼀帧both: 同时运用forwards/backwards
- 常用钩子:
animationend动画属性: 尽量使用动画属性进行动画, 能拥有较好的性能表现
translatescalerotateskewopacitycolor
