笔记标题 | 青训营笔记

39 阅读1分钟

问:为什么学习css?

答:为了将内容更好的展现出来

1.层叠,优先级

层叠三大规则(优先程度递减)

1.样式表来源 --> 2.选择器优先级 --> 3源码位置

样式表来源重要排序(重要程度递增)

用户代理样式 --> 用户样式表 --> 作者样式表 --> 作者样式表中的!important --> 用户样式表中的!important --> 用户代理样式表中的!important

这里先忽视了transition和animation,原因是不同浏览器和css规范规定的表现不一致

选择器优先级

内联>id>class = attribute =pseudo-class >type =pseudo-element

*内联样式不属于选择器,为了方便比较记忆,放在这里做对比

2.继承

graph TD
html --> body
body --> content
body --> menu
menu --> span
content --> div
content --> ...

css的值和单位

image.png

盒模型

浏览器根据视觉格式化模式(visual formatting model),将所有元素表示为盒子模型,css通过盒模型做layout

控制盒子类型

display:block,inline,inline-block,flex

控制盒子大小 &计算方式

width,height...

box-sizing:content-box,border-box

控制盒中内容流

overflow:auto,scroll,hidden,...

控制定位

position:static,relative,absolute,fixed,sticky

是否可见

visibility:visible,hidden

层叠上下文

编写z-index的建议: 1.使用css变量 或者 预处理语言的变量,管理z-index的值 2.将预设间隔设置10或100,方便后续的插入

transform变形

transform 变形

2D相关属性:

transform:translate(移动),rotate(旋转),sale(放缩,matrix(变形矩形)等

transform-origin:right top,center等表示变形时依据的原句