深入CSS | 青训营

98 阅读2分钟

第三节课笔记   

深入css 上

css中的选择器

多个选择器选到同一个元素的相同样式 根据特异度来选中 选择器越特殊他的优先级就越高

_-1501975421__0e580c405673e7e3ba0c4e13f38cf6fc_1886174213_Screenshot_20230729_152542_0_wifi_0.jpg

继承

某些属性会自动继承其父元素的计算值,除非指定一个值,一般来说css里面和文字相关的都是可以继承的,盒模型是不可以继承的

显示继承

*{
    box-sizing:inherit // 让原本不可继承的 变成可以继承
}

所有的元素都从父元素继承 如果一直没有找到父级,就会用到初始值

初始值

css中,每个属性都有一个初始值
    background-color的初始值为transparent
    margin-left的初始值为0
可以使用initial关键字显示重置为初始值
    background-color:initial
    

css求值过程

_1179544023__222ec6d9bd32b334a458b63802495408_723350763_Screenshot_20230729_160039_0_wifi_0.jpg

布局(layout)是什么?

确定内容的大小和位置的算法

依据元素,容器,兄弟节点和内容等信息来计算

布局相关技术

1.常规流

行级 块级 表格布局 Flexbox布局 Gridbuju

2.浮动

3.绝对定位

css盒模型

image.png

深入css 下

块级

Block Level Box

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

块级排版 BFC(Vlock Formatting Context)

  • 盒子从上到下摆放
  • 垂直margin合并
  • BFC内盒子的margin不会与外面的合并
  • BFC不会和浮动元素重叠

行级

Inline Level Box

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

行级排版 IFC(Inline Formatting Context)

  • 盒子在一行内水平摆放
  • 一行放不下时,换行显示
  • textalign决定一行盒子的水平对齐
  • 避开浮动(float)元素

inline-block

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

Flex Box是什么?

  • 一种新的排版上下文
  • 他可以控制子级盒子的:
    • 摆放方向
    • 摆放顺序
    • 盒子的宽度和高度
    • 水平和垂直方向的对齐
    • 是否允许折行