CSS2笔记¶
约 1611 个字 277 行代码 预计阅读时间 9 分钟
CSS三种写法及优先级¶
行内样式¶
HTML | |
---|---|
1 |
|
内部样式¶
HTML | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 |
|
外部样式¶
CSS | |
---|---|
1 2 3 |
|
HTML | |
---|---|
1 2 3 4 5 6 7 8 |
|
优先级¶
行内样式 > 内部样式 = 外部样式
基础选择器¶
选择器:负责选择元素定向设置样式,所有选择器都有自己的特点,根据需要选择即可,不需要太纠结选择哪一种选择器
通配选择器¶
选中所有HTML元素,一般用于清除样式
CSS | |
---|---|
1 2 3 |
|
元素选择器¶
选择页面中的某一个HTML标签(元素)设置样式
CSS | |
---|---|
1 2 3 |
|
类选择器¶
使用全局属性class
为元素指定值,选择相同class
值的元素设置样式。设置样式时,对应的class
名需要带.
HTML | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
注意:一个标签不可以有多个class
,但是一个class
可以有多个值,不同的值以空格分隔,最后样式会合并
ID选择器¶
使用全局属性id
为标签指定值,选择指定的id
值单独为元素设置样式。设置样式时,对应的id
值前需要带#
与class
不同的是,同一个id
值只能出现一次
HTML | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 |
|
需要注意,一个标签既可以有id
属性,也可以有class
属性,同样只能有一个id
属性
复合选择器¶
本部分共有两种:
- 基于基础选择器,多个基础选择器之间的组合,包括:交集选择器、并集选择器、后代选择器、子代选择器和兄弟选择器
- 在基础选择器之上进行拓展,包括:属性选择器、伪类选择器和伪元素选择器
Note
需要注意,因为第二种是在基础选择器之上对已有的基础选择器进行拓展,所以第一种复合选择器对于第二种也是可以使用的
基于基础选择器¶
交集选择器¶
不同的基础选择器之间用.
连接,表示既满足……又满足……:
CSS | |
---|---|
1 2 3 4 5 6 7 8 9 |
|
并集选择器(分组选择器)¶
基础选择器之间用,
分隔,表示满足其中之一:
CSS | |
---|---|
1 2 3 4 |
|
并集选择器,通常用于集体声明,可以缩小样式表体积
后代选择器¶
选择当前元素所有的后代元素,父元素和后代元素之间用空格隔开:
HTML | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
子代选择器¶
选择当前元素的所有子代元素,父元素和子元素之间使用>
分隔:
HTML | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
需要注意,如果对li
设置背景颜色等其他整体样式,那么span
的背景也会跟着改变,因为span
是嵌套在li内部,如果单独为span
设置背景,就不会出现li
和span
的背景相同
单兄弟选择器(后兄弟元素)¶
选择与当前元素相邻的下一个元素,两个元素之间使用+
进行分隔:
HTML | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
多兄弟选择器(后兄弟元素)¶
选择当前元素的所有兄弟元素,兄弟元素之间用~
分隔:
HTML | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
拓展基础选择器¶
属性选择器¶
选择存在满足条件属性的元素,元素属性使用[]
包裹,有下面几种使用:
[属性名]
选中含有某个属性的元素[属性名="值"]
选中包含某个属性,且属性值等于指定值的元素[属性名^="值"]
选中包含某个属性,且属性值以指定的值开头(或者第一个值的开头字母为指定值)的元素[属性名$="值"]
选中包含某个属性,且属性值以指定的值结尾(或者最后一个值的最后一个字母为指定值)的元素[属性名*="值"]
选中包含某个属性,属性值包含指定值(或者某一个值中含有指定值)的元素
HTML | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
伪类选择器¶
伪类选择器主要作用是选择拥有特殊效果的元素,因为这个特殊效果在DOM中不存在,所以称为「伪类」。常见的伪类有下面几种:
- 动态伪类选择器
- 结构伪类选择器
- 否定伪类选择器
- UI伪类选择器
- 目标伪类选择器(不重点介绍,了解)
- 语言伪类选择器(不重点介绍,了解)
动态伪类选择器:
动态伪类一般有:
:link
:超链接未被访问的状态:visited
:超链接被访问过的状态:hover
:鼠标悬浮在该元素时的状态:active
:元素被激活的状态:focus
:元素获取焦点的状态,一般用于表单元素
Note
需要注意,如果需要同时使用前4伪类选择器,一定要按照LVHA
的顺序,因为前两种用在超链接上,所以这四个伪类一起用一般都是用在超链接上
HTML | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
HTML | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
结构伪类选择器
结构伪类一般有:
:first-child
:选择作为第一个后代的指定元素:last-child
:选择作为最后一个后代的指定元素:nth-child(n)
:选择作为第n
后代的指定元素:first-of-type
:选择作为第一个同类型的后代元素:last-of-type
:选择作为最后一个同类型的后代元素:nth-of-type(n)
:选择作为第n
个同类型的后代元素:root
:选择根元素
其他伪类元素:
:nth-last-child(n)
:选择作为倒数第n
个子代元素:nth-last-of-type(n)
:所有倒数第n
个同类型的元素:only-child
:选择没有兄弟(指定元素作为其父元素的唯一后代元素)的元素:only-of-type
:选择没有同类型兄弟(指定元素作为其父元素的唯一同类型元素)的元素
在上面的选择器中,n
可以写的内容有:
- 0或者不写:不选中任何内容
n
:选中所有正整数
:选择指定序号的子元素,第一个子元素序号为12n
或者even
:选择偶数序号的子元素2n+1
或者odd
:选择奇数序号的子元素-n+i
:选择前i
个元素
HTML | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
否定伪类选择器
使用:not(基础选择器)
选择不包括基础选择器指定的元素
的元素
HTML | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
UI伪类选择器
常见的UI伪类选择器有:
:checked
:选择被选中的复选框或者单选框:enable
:选择可用的表单元素(没有使用disabled
属性):disabled
:选择不可用的表单元素(使用disabled
属性)
HTML | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|