Day4 深入理解CSS

132 阅读2分钟

深入理解CSS

选择器的优先级---特异度(Specificity)

1.png

继承

某些属性会自动继承其父元素的计算值,除非显式指定一个值。

显示继承

使用inherit关键字

初始值

CSS中,每个属性都有一个初始值

background-color的初始值为transparent

margin-left的初始值为0

可以使用initi关键字显示重置为初始值

background-color:initial

布局

三种布局方式:

常规流

行级 块级 表格布局 FlexBox Grid布局

浮动

绝对定位

盒模型

2.png

3.png

4.png

盒模型的内边距(padding)

5.png

百分数相对于容器宽度

边框(border)

6.png

外边距(margin)

7.png

块级 vs 行级

块级适用所有盒模型属性,不和其他盒子并列摆放

行级和其他行级盒子一起放在一行或拆开成多行,盒模型中的width和height不适用

8.png

display属性

block:块级盒子

inline:行级盒子

inline-block:本身是行级,可以放在行盒中;可以设置宽高;作为一个整体不会被拆散成多行

none:排版时完全被忽略

行级排版上下文

9.png

块级排版上下文

10.png

BFC内的排版规则

11.png

Flex Box

一种新的排版方式

可以控制子级盒子的:

摆放的流向

摆放顺序

盒子宽度和高度

水平和垂直方向的对齐

是否允许折行

主轴:justify-content

12.png

侧轴:align-items

13.png

Flexibility

可以设置子项的弹性;当容器有剩余空间时,会伸展;容器控件不够时,会收缩

flex-grow 有剩余空间时的伸展能力

flex-shrink 容器空间不足时收缩的能力

flex-basis 没有伸展或收缩时的基础长度

flex

14.png

Grid布局

display:grid使元素生成一个块级的Grid容器

使用grid-template相关属性将容器划分为网格

设置每一个子项占哪些行/列

grid line网格线

15.png

例如:

grid-row-start:1;

grid-column-start:1;

grid-row-end:3;

grid-column-end:3;

或者:

grid-area:1/1/3/3;

float浮动

16.png

position

static:默认值,非定位元素

relative:相对自身原本位置偏移。不脱离文档流

absolute:绝对定位,相对非static祖先元素定位

fixed:相对于视口绝对定位