CSS1| 青训营笔记

35 阅读2分钟

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

CSS是什么?

Cascading Style Sheets

层叠样式表

选择器 属性名 属性值(后两个合起来为声明)

选择器就是选中html的某个标签(元素),为其定义样式

css由这一条条的样式规则组成

image.png

在页面引入css的三种方式

image.png

推荐第一种(外链引入),内容和样式的分离,功能上的分工

开发范式上:组件式的开发

做到关注点分离

css是怎么应用到样式里面的?

每个dom树节点解析出它的css样式,得到渲染树(每个节点位置在哪里,其中每个属性的样式),最后渲染成完整的页面。

html与css有单独解析的过程,通过dom树把解析出的css附加到dom树上。

选择器

通配选择器

(*为选择所有)

* { color: red; font-size: 20px; }

标签选择器

a {}

类选择器

.done{}

id选择器

注:id为唯一值

#logo {}

属性选择器

[disabled]{}

input[type="password"]

a[href^="el"] {}

选中href属性值以el为开头的元素

a[href$=".jpg"] {}

选中href属性值以.jpg为结尾的元素

伪类

(不基于标签和属性定位元素)

状态性伪类

某个元素只有在处于某种状态才会被选中

我们可以用伪类选择器选择不同链接所处的状态,给不同状态下的链接定义样式。

image.png

image.png 以上是链接的四种状态

link 默认样式

active 鼠标按下去那刻的样式

focus 聚焦状态(按下去之后的状态) 2像素橙色边框

若冒号前面没有,则默认给所有标签的这个状态定义样式

结构性伪类

根据dom节点在dom树出现的位置来决定是否选中该元素

可以通过元素在父级节点的相对位置来选中节点

li:first-child li父级的第一个节点

还有更复杂的:可以通过父级/同级的某个类型的标签指定,可以写表达式指定是基数/偶数/3的倍数的标签去赋予样式。

组合

可以通过组合的方式把标签放在一块:

image.png

直接的组合(标签+类 选择器)

image.png

input.error 可以看到只对输入框生效

选择器组

image.png