深入理解CSS | 青训营笔记

47 阅读2分钟

这个课程会: 讲解部分CSS 知识模块, 如布局、层叠上下文等 讲解一些CSS 生态相关的知识 提供一个简明的知识脉络 这个课程不会: one by one 详细讲解CSS 的各种属性 详细讲解各种方案

层叠有三大规则,按照优先程度递减: 1 . 样式表来源 2 . 选择器优先级 3 . 源码位置

样式表来源重要排序(按照重要程度递增): 用户代理样式、浏览器默认样式、用户样式表(很少有)、作者样式表(developer 写的)、作者样式表中的(important)、用户样式表中的( important)、用户代理样式表中的( important) 【注意:这里先忽略了transition 和animation, 原因是不同浏览器和css 规范规定的表现不一致】

选择器有如下这些: 基础选择器

id 一一ID选择器。Tagname一一类型选择器或者标签选择器。

.class一一类选择器。* 一一通用选择器。该选择器匹配所有元素 组合器 子组合器( > ) 一一匹配的目标元素是其他元素的直接后代。如: .parent >.child 相邻兄弟组合器( + ) 一一匹配的目标元素紧跟在其他元素后面。如: p +h2 通用兄弟组合器( ~ )一一匹配所有跟随在指定元素之后的兄弟元素, 如: li.active ~ li 复合选择器 多个基础选择器可以连起来使用, 如: h1.page-header 属性选择器 通过约束属性值, div[data-title="aaa''] 伪类选择器 选中处于某个特定状态或相对于其父级或兄弟元素的位置的元素。如:first-child ,:hover 伪元素选择器 匹配在文档中没有直接对应HTML 元素的特定部分, 或插入内容。如h2:: first-letter,div::before 逻辑选择器 较新的选择器:is() :has() :where() •not()

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