深入理解CSS | 青训营笔记

95 阅读2分钟

深入理解CSS

基础知识

层叠Casding、优先级

CSS通过层叠->解决冲突

Style Sheets样式表通过规则声明集合->产生冲突->解决冲突

层叠规则按优先程度递减为:

1.样式表来源

2.选择器优先级

3.源码位置

而样式表按重要顺序递增排序为:

1.用户代理样式(浏览器默认样式)

2.用户样式表

3.作者样式表

4.作者and用户and用户代理样式表中的! important

继承

大部分具有继承特性的属性跟文本相关:

e.g. color、font、text-align

可使用inherit关键字指定一个属性值从其父元素继承

盒模型

控制盒子类型:

display:block、inline

控制盒子大小&计算方式:

width、height

控制定位:

position

布局

概述

CSS 3 之后新增的布局

Flex 弹性盒子布局

Grid 网格布局

Multicol多列布局

一维空间布局

二维空间布局

文本、内容的多列展示

常规布局流

块级格式化上下文

外边距塌陷

内联级格式化上下文

弹性盒子布局

网格布局

层叠上下文

层叠上下文是对HTML元素的三维构想,是将元素沿着垂直屏幕的虚构的z轴排开

层叠顺序不仅指不同的层叠上下文的顺序,同一个层叠上下文内,元素间也有顺序

编写z-index的建议:

1.使用CSS变量或者预处理语言的变量,管理z-index的值

2.将预设间隔设置为10 或100 ,方便后续的插入

--z-loading-indicator: 100; --z-nav-menu: 200; --z-dropdown-menu: 300;

变形、过渡、动画

transform 变形

transition 过渡

通过指定某些元素属性从一种起始状态,在一段时间内以某种变化节奏,过渡到终止状态。

animation动画

性能相关

布局(计算布局)

绘制(填充像素)

合成(收集所有绘制完毕的图层,按顺序合成显示)