一、结构(位置)伪类选择器
- :first-child 选取属于其父元素的首个子元素的指定选择器
- :last-child 选取属于其父元素的最后一个子元素的指定选择器
- :nth-child(n) 匹配属于其父元素的第 N 个子元素,不论元素的类型 n可以是数字、关键词、公式
- nth-last-child(n) 选择其父元素的第n个子元素,从最后一个子元素开始计数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
ul li:first-child{
background-color: yellow;
}
ul li:last-child{
background-color: pink;
}
ul li:nth-child(2){
background-color: green;
}
li:nth-child(even){
background-color: skyblue;
}
li:nth-child(odd){
background-color: purple;
}
ul li:nth-child(2n){
background-color: skyblue;
}
ul li:nth-child(2n+1){
background-color: purple;
}
ul li:nth-child(4n){
background-color: skyblue;
}
ul li p:nth-child(2){
background-color: blue;
}
ul li p:nth-child(1){
background-color: blue;
}
ol li:nth-last-child(3){
background-color: #ccc;
}
</style>
</head>
<body>
<ul>
<li>周一</li>
<li>周二</li>
<li>周三</li>
<li>周四</li>
<li>周五</li>
<li>周六</li>
<li>周日</li>
<li>
<h4>嘿嘿嘿</h4>
<p>111</p>
<p>222</p>
<p>333</p>
<p>444</p>
</li>
</ul>
<ol>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
</ol>
</body>
</html>
二、属性选择器
- :[attribute^=value] 例如:div[class^=cute] – 选择所有class以cute开头的元素
- :[attribute$=value] 例如:div[class $ =cute] – 选择所有class以cute结尾的元素
- :[attribute*=value] 例如:div[class*=small] 选择所有class中包含small的元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
div[class] {
background-color: skyblue;
}
div[class=cute] {
background-color: skyblue;
}
div[class^=cute] {
background-color: skyblue;
}
div[class$=cute] {
background-color: pink;
}
div[class*=small] {
background-color: yellow;
}
</style>
</head>
<body>
<div class="cute">博美</div>
<div class="small1">柯基</div>
<div class="tdsmall">泰迪</div>
<div class="cute2">比熊</div>
<div>八哥</div>
<div>贵宾犬</div>
<div>雪纳瑞</div>
<div class="cute3">萨摩耶</div>
<div>哈士奇</div>
<div class="jwwcute">吉娃娃</div>
<div>马尔济斯</div>
</body>
</html>
三、伪元素选择器
- ::first-letter 选择第一个字
- ::first-line 选择第一行
- ::selection 选中文本
- ::before 在元素内部的开始位置创建一个元素,该元素为行内元素,且必须要结合content属性使用
- ::after 在元素内部的j结束位置创建一个元素,该元素为行内元素,且必须要结合content属性使用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
p::first-letter{
font-size: 60px;
}
p::first-line{
color: #666
}
p::selection{
background-color: yellow;
color: orange
}
div::before{
content: '无关书:';
}
div:after{
content: "。"
}
</style>
</head>
<body>
<div>春歌</div>
<p>春有百花秋有月,夏有凉风冬有雪。如无闲事挂心头,便是人间好时节。春有百花秋有月,夏有凉风冬有雪。如无闲事挂心头,便是人间好时节。春有百花秋有月,夏有凉风冬有雪。如无闲事挂心头,便是人间好时节。春有百花秋有月,夏有凉风冬有雪。如无闲事挂心头,便是人间好时节。春有百花秋有月,夏有凉风冬有雪。如无闲事挂心头,便是人间好时节。春有百花秋有月,夏有凉风冬有雪。如无闲事挂心头,便是人间好时节。春有百花秋有月,夏有凉风冬有雪。如无闲事挂心头,便是人间好时节。春有百花秋有月,夏有凉风冬有雪。如无闲事挂心头,便是人间好时节。春有百花秋有月,夏有凉风冬有雪。如无闲事挂心头,便是人间好时节。春有百花秋有月,夏有凉风冬有雪。如无闲事挂心头,便是人间好时节。春有百花秋有月,夏有凉风冬有雪。如无闲事挂心头,便是人间好时节。春有百花秋有月,夏有凉风冬有雪。如无闲事挂心头,便是人间好时节。</p>
</body>
</html>