深入理解CSS | 青训营笔记

87 阅读2分钟

这是我参加前端训练营笔记活动的第6天。

深入CSS

CSS简要发展历史

CSS1

解决网页排版布局和装饰问题,第一个有“层叠(cascading)”概念的语言

CSS2

表现和内容分离

CSS2.1

对CSS2的修正、扩展,代替CSS2

CSS3

规范模块化发展,样式丰富、酷炫,提高网站的可维护性以及性能速度

基础知识

层叠优先级

样式表来源(优先级最高)

样式表来源重要排序:(重要程度递增)
1、用户代理样式 浏览器默认样式
2、用户样式表 很少有
3、作者样式表 developer写的
4、作者样式表中的!important
5、用户样式表中的!important
6、用户代理样式表中的!important

选择器优先级(优先级次高)

基础选择器

#id:ID选择器
Tagname:类型选择器或标签选择器
.class:
*:通用选择器,该选择器匹配所有元素

组合器

子组合器(>):匹配的目标元素是其他元素的直接后代
相邻兄弟组合器(+):匹配的目标元素紧跟在其他元素后面
通用兄弟组合器(~):匹配所有跟随在指定元素之后的兄弟元素
复合选择器:多个基础选择器可以连起来使用

属性选择器

通过约束属性值

伪类选择器

选中处于某个特定状态或相对于其父级或兄弟元素的位置的元素

伪元素选择器

匹配在文档中没有直接对应HTML元素的特定部分或插入内容 屏幕截图 2023-05-03 231502.png

源码位置(优先级最低)

1、对于@import的样式,根据@import的顺序
2、对于link和style标签的样式,根据在document中的顺序决定

其他

1、选择器尽量少用id
2、尽量不要用!important
3、自己的样式加载在引用库样式的后面