理解CSS | 青训营笔记

109 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 2 天

CSS 学习笔记

css细碎知识点

1. 三种嵌入方式

  • 外链:文件的形式
  • 嵌入:例如vue等在一个文件中嵌入
  • 内联:在标签内

2. 几种选择器再复习一下

  • 通配
  • id
  • class
  • 属性 []
    • a[href^="#"]: 链接的 href以#开头
    • a[href$=".jpg"]: 链接的 href以.jpg结尾
  • 伪类
    • 状态
    • 结构伪类 first-child, last-child等
  • 组合

3.通用字体组

  • Serif: 衬线体
  • Sans-Serif: 无衬线体
  • Cursive:手写体
  • Fantasy:夸张
  • Monospace:等宽字体

font-family: 英文写前面,中文写后面,因为它是字符匹配

4. white-space来控制空白符

5. 选择器的特异度

id 伪类 标签

6. CSS求值过程

读取文件得到DOM树和样式规则后对每一个DOM节点进行处理

filtering: 过滤,对所有的样式规则进行过滤,主要包括选择器是否匹配,属性是否有效,是否符合当前的媒体查询条件

申明值: 通过filtering得到申明值,形如p{font.size: 16px}, p.text{font-size: 1.2em}

cascading: 层叠,对同一个属性,按照来源,!important, 选择器特异性,书写顺序等选出一个优先级最高的属性值

层叠值: 在cascading中获胜的那个值

defaulting: 继承或采用默认

指定值:经过上述处理,使它的每一个必要属性值都不为空

resolving: 计算,将一些相对值或者绝对路径值进行转换

计算值: 经过resolving后得到的值,就是浏览器在渲染实际的界面前得到的最具体的值

formating: 将计算值进一步转换,比如关键字,百分比都转换为绝对值

使用值: 经过转换后得到的进行实际布局的值,不会再有相对值和关键字

constraining: 进行一些限制,例如浮点数转换为整数,max-width的限制等

实际值:最终的值,你在调试时看到的值

7.布局相关技术

  • 常规流
    • 行级
    • 块级
    • 表格布局
    • Flexbox: 主轴与测轴,弹性伸缩
    • Grid
  • 浮动模型
  • 绝对模型

8.flex的弹性(flexibility)

flex的弹性是指将原来的宽度分派后,剩余的空间再进行分派,不是就单纯的按比例分配 可以看作是一维的

  • flex-grow:
  • flex-shrink:
  • flex-basis:

9.Grid布局

主要涉及如何划分区块,以及利用grid-line来确定区块

10.绝对定位(position属性)

  • staic: 默认的文档流定位
  • relative: 相对
  • absolute: 绝对 相对的是最近的非staic元素
  • fixed: 绝对 但相对的是浏览器窗口