CSS选择器种类很多,CSS选择器的作用是将CSS规则应用于HTML文档中特定的元素
选择任意元素
可以使用星号(*)来表示”任意元素“。
示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<!DOCTYPE html>
<
html
lang
=
"en"
>
<
head
>
<
meta
charset
=
"UTF-8"
>
<
title
>任意选择器</
title
>
<
style
>
*{ margin:8px;
padding:8px;
border:1px solid #E3722E;
}
</
style
>
</
head
>
<
body
>
<
h1
>利永贞网</
h1
>
<
h2
>学编程,上利永贞网</
h2
>
<
p
>study hard, improve every day</
p
>
</
body
>
</
html
>
|
类选择器
通过设置元素的 class 属性,可以为元素指定类名。类名由程序员自己指定。 文档中的多个元素可以拥有同一个类名。
在写样式表时,类选择器是以英文句号(.)开头的。
示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<!DOCTYPE html>
<
html
lang
=
"en"
>
<
head
>
<
meta
charset
=
"UTF-8"
>
<
title
>类选择器</
title
>
<
style
>
.study { margin:8px;
padding:8px;
border:1px solid #E3722E;
}
</
style
>
</
head
>
<
body
>
<
h1
>利永贞网</
h1
>
<
h2
>学编程,上利永贞网</
h2
>
<
p
class
=
"study"
>study hard, improve every day</
p
>
</
body
>
</
html
>
|
ID选择器
通过设置元素的 id 属性为该元素制定ID。ID名由开发者指定。每个ID在文档中必须是唯一的。
在写样式表时,ID选择器是以#开头的。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<!DOCTYPE html>
<
html
lang
=
"en"
>
<
head
>
<
meta
charset
=
"UTF-8"
>
<
title
>ID选择器</
title
>
<
style
>
#study { margin:8px;
padding:8px;
border:1px solid #E3722E;
}
</
style
>
</
head
>
<
body
>
<
h1
>利永贞网</
h1
>
<
h2
>学编程,上利永贞网</
h2
>
<
p
id
=
"study"
>study hard, improve every day</
p
>
</
body
>
</
html
>
|
伪类选择器
CSS伪类(pseudo-class)是加在选择器后面的用来指定元素状态的关键字。比如,:hover 会在鼠标悬停在选中元素上时应用相应的样式。
伪类和伪元素(pseudo-elements)不仅可以让你为符合某种文档树结构的元素指定样式,还可以为符合某些外部条件的元素指定样式:浏览历史(比如是否访问过 (:visited), 内容状态(如 :checked ), 鼠标位置 (如:hover). 完整列表参见 CSS3 Selectors working spec.
伪类选择器 | 说明 |
:link | 未访问 |
:visited | 已访问 |
:active | 激活链接 |
:hover | 鼠标悬停 |
:focus | 有焦点 |
:first-child | 在一组兄弟元素中的第一个元素 |
:nth-child | 找到所有当前元素的兄弟元素,然后按照位置先后顺序从1开始排序 |
:nth-last-child | 和上面的一样, 只是它从结尾处反序计数 |
:nth-of-type | 选取氏兄弟元素中的指定一个 |
:first-of-type | 选择一组兄弟元素中其类型的第一个元素 |
:last-of-type | 一组兄弟元素中其类型的最后一个元素 |
:empty | 没有子元素的元素 |
:target | 代表一个唯一的页面元素(目标元素),其id 与当前URL片段匹配 |
:checked | 表示任何处于选中状态的单选、复选、多选 |
:enabled | 表示任何被启用的元素 |
:disabled | 表示任何被禁用的元素 |
示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<!DOCTYPE html>
<
html
lang
=
"en"
>
<
head
>
<
meta
charset
=
"UTF-8"
>
<
title
>伪类选择器</
title
>
<
style
>
a{
color:#000;
}
a:visited {
color:red
}
</
style
>
</
head
>
<
body
>
<
h1
>利永贞网</
h1
>
<
h2
>学编程,上利永贞网</
h2
>
<
p
id
=
"study"
>study hard, improve every day</
p
>
</
body
>
</
html
>
|
基于关系的选择器
CSS还有多种基于元素关系的选择器。通过它们你可以更精确的选择元素。
选择器 | 选择的元素 |
A E | 元素A的任一后代元素E (后代节点指A的子节点,子节点的子节点,以此类推) |
A > E | 元素A的任一子元素E(也就是直系后代) |
E:first-child | 任一是其父母结点的第一个子节点的元素E |
B + E | 元素B的任一下一个兄弟元素E |
B ~ E | B元素后面的拥有共同父元素的兄弟元素E |
示例:
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
|
<!DOCTYPE html>
<
html
lang
=
"en"
>
<
head
>
<
meta
charset
=
"UTF-8"
>
<
title
>基于关系的选择器</
title
>
<
style
>
td{
border: 1px solid #777;
}
#data-table-1 td:first-child {color: red;}
#data-table-1 td:first-child + td {color: blue;}
</
style
>
</
head
>
<
body
>
<
h1
>利永贞网</
h1
>
<
h2
>学编程,上利永贞网</
h2
>
<
table
id
=
"data-table-1"
>
<
tbody
>
<
tr
>
<
td
><
strong
>Prefix</
strong
></
td
>
<
td
><
code
>0001</
code
></
td
>
<
td
>default</
td
>
</
tr
>
</
tbody
>
</
table
>
</
body
>
</
html
>
|