基本选择器:
1.通用元素选择器
* 表示应用到所有的标签。
1
|
* {color: yellow} |
2.标签选择器
匹配所有使用 div 标签的元素(可以匹配所有标签)
1
|
div {color: yellow} |
3.类选择器
匹配所有class属性中包含info的元素。
语法:.类名{样式}(类名不能以数字开头,类名要区分大小写。)
1
2
|
.Mycolor {color: yellow} < h3 class="Mycolor">nick</ h3 > |
4.ID选择器
使用id属性来调用样式,在一个网页中id的值都是唯一的(是W3C规范而不是规则,所以不会报错)。
语法:#ID名{样式}(ID名不能以数字开头)
1
2
|
#Mycolor {color: yellow} < h3 id="Mycolor">Nick.</ h3 > |
id 选择器和派生选择器
在现代布局中,id 选择器常常用于建立派生选择器。
#sidebar p
{
font-style: italic;
text-align: right;
margin-top: 0.5em;
}
上面的样式只会应用于出现在 id 是 sidebar 的元素内的段落。这个元素很可能是 div 或者是表格单元,比如
<!DOCTYPE html>
<html>
<head>
<style>
#red {color:red;}
#green {color:green;}
#sidebar p{
font-style: italic;
text-align: right;
margin-top: 0.5em;
}
</style>
</head>
<body>
<div id="sidebar"> <p>这个段落是红色。</p> </div>
<p id="green">这个段落是绿色。</p>
</body>
</html>
组合选择器:
1.多元素选择器
同时匹配h3,h4标签,之间用逗号分隔。
1
2
3
|
h3,h4 {color: yellow;} < h3 >Nick</ h3 > < h4 >Jenny</ h4 > |
2.后代元素选择器
匹配所有div标签里嵌套的P标签,之间用空格分隔。
1
2
3
4
5
6
7
8
|
div p {color: yellow;} < div > < p >Nick</ p > < div > < p >Nick</ p > </ div > </ div > |
3.子元素选择器
匹配所有div标签里嵌套的子P标签,之间用>分隔。
1
2
3
4
5
6
|
div > p {color: yellow;} < div > < p >Nick</ p > < p >Nick</ p > </ div > |
4.毗邻元素选择器
匹配所有紧随div标签之后的同级标签P,之间用+分隔(只能匹配一个)。
1
2
3
4
|
div + p {color: yellow;} < div >Nick</ div > < p >Nick</ p > |
属性选择器:
1.[title] & P[title]
设置所有具有title属性的标签元素;
设置所有具有title属性的P标签元素。
1
2
3
4
5
6
7
8
9
10
11
|
[title] { color: yellow; } p[title] { color: yellow; } < div title>Nick</ div > < p title>Nick</ p > |
2.[title=Nick]
设置所有title属性等于“Nick”的标签元素。
1
2
3
4
5
6
|
[title="Nick"] { color: yellow; } < p title="Nick">Nick</ p > |
3.[title~=Nick]
设置所有title属性具有多个空格分隔的值、其中一个值等于“Nick”的标签元素。
1
2
3
4
5
6
7
|
[title~="Nick"] { color: yellow; } < p title="Nick Jenny">Nick</ p > < p title="Jenny Nick">Nick</ p > |
4.[title|=Nick]
设置所有title属性具有多个连字号分隔(hyphen-separated)的值、其中一个值以"Nick"开头的标签元素。
例:lang属性:"en"、"en-us"、"en-gb"等等
1
2
3
4
5
6
|
[title|="Nick"] { color: yellow; } < p title="Nick-Jenny">Nick</ p > |
5.[title^=Nick]
设置属性值以指定值开头的每个标签元素。
1
2
3
4
5
6
|
[title^="Nick"] { color: yellow; } < p title="NickJenny">Nick</ p > |
6.[title$=Nick]
设置属性值以指定值结尾的每个标签元素。
1
2
3
4
5
6
|
[title$="Nick"] { color: yellow; } < p title="JennyNick">Nick</ p > |
7.[title*=Nick]
设置属性值中包含指定值的每个元素
1
2
3
4
5
6
|
[title*="Nick"] { color: yellow; } < p title="SNickJenny">Nick</ p > |
伪类选择器:
1. link、hover、active、visited
- a:link(未访问的链接状态),用于定义了常规的链接状态。
- a:hover(鼠标放在链接上的状态),用于产生视觉效果。
- a:active(在链接上按下鼠标时的状态)。
- a:visited(已访问过的链接状态),可以看出已经访问过的链接。
1
2
3
4
5
6
|
a:link{color: black} a:hover{color: yellow} a:active{color: blue} a:visited{color: red} < a href="#">Nick</ a > |
2. before、after
- P:before 在每个<p>元素的内容之前插入内容;
- P:after 在每个<p>元素的内容之后插入内容。
1
2
3
4
5
6
7
8
9
10
11
|
p { color: yellow; } p:before{ content: "before..."; } p:after{ content: "after..."; } < p > Nick </ p > |
属性选择器:
1.[title] & P[title]
设置所有具有title属性的标签元素;
设置所有具有title属性的P标签元素。
1
2
3
4
5
6
7
8
9
10
11
|
[title] { color: yellow; } p[title] { color: yellow; } < div title>Nick</ div > < p title>Nick</ p > |
2.[title=Nick]
设置所有title属性等于“Nick”的标签元素。
1
2
3
4
5
6
|
[title="Nick"] { color: yellow; } < p title="Nick">Nick</ p > |
3.[title~=Nick]
设置所有title属性具有多个空格分隔的值、其中一个值等于“Nick”的标签元素。
1
2
3
4
5
6
7
|
[title~="Nick"] { color: yellow; } < p title="Nick Jenny">Nick</ p > < p title="Jenny Nick">Nick</ p > |
4.[title|=Nick]
设置所有title属性具有多个连字号分隔(hyphen-separated)的值、其中一个值以"Nick"开头的标签元素。
例:lang属性:"en"、"en-us"、"en-gb"等等
1
2
3
4
5
6
|
[title|="Nick"] { color: yellow; } < p title="Nick-Jenny">Nick</ p > |
5.[title^=Nick]
设置属性值以指定值开头的每个标签元素。
1
2
3
4
5
6
|
[title^="Nick"] { color: yellow; } < p title="NickJenny">Nick</ p > |
6.[title$=Nick]
设置属性值以指定值结尾的每个标签元素。
1
2
3
4
5
6
|
[title$="Nick"] { color: yellow; } < p title="JennyNick">Nick</ p > |
7.[title*=Nick]
设置属性值中包含指定值的每个元素
1
2
3
4
5
6
|
[title*="Nick"] { color: yellow; } < p title="SNickJenny">Nick</ p > |