目录
基本选择器
CSS 元素选择器
元素选择器根据元素名称来选择 HTML 元素。
CSS id 选择器
id 选择器使用 HTML 元素的 id 属性来选择特定元素。注意:id 名称不能以数字开头。
元素的 id 在页面中是唯一的,因此 id 选择器用于选择一个唯一的元素!
要选择具有特定 id 的元素,请写一个井号(#),后跟该元素的 id。
CSS 类选择器
类选择器选择有特定 class 属性的 HTML 元素。
如需选择拥有特定 class 的元素,请写一个句点(.)字符,后面跟类名。
注意:类名不能以数字开头!
CSS 通用选择器
通用选择器(*)选择页面上的所有的 HTML 元素。
!important:是最高级别的,后面是不可修改,一般情况下,不推荐使用!important关键字提升优先级
优先级
!important>行内样式>id选择器>类名选择器>标签选择器>通配符选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* id选择器 */
#para1{
color:red;
font-size: 20px;
}
/* 类选择器 */
.test1{
color: aqua;
}
/* 元素/标签 选择器 */
h1{
color: blue;
font-size: 20px;
}
/* 通用选择器 */
*{
background-color: bisque;
font-size: 50px !important; /* !important优先级最高,优先显示该属性 */
}
</style>
</head>
<body>
<h1>标题111</h1>
<p id="para1">段落111</p>
<p class="test1">段落222</p>
<p style="color: burlywood; font-size: 100px;">段落3 我是内联样式</p><!-- 内联样式 -->
</body>
</html>
层次选择器
后代:标签1 标签2 {} ===> 选中标签1里面的标签2
子代:标签1>标签2 {} ===> 选中标签1中的子代标签2
注:后代可以包含子代,子代只能是父元素的第一层
元素1+元素2 ===> 选中元素1后面第一个相邻的兄弟元素
元素1~元素2 ===> 选中元素1后面所有的兄弟元素2
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 后代 */
ul li{
font-size: 50px;
}
/* 子代 */
li>a{
color: antiquewhite;
}
/* 类名为two的后代后面第一个相邻的li */
.two+li{
color: blue;
}
/* 类名为two后面的所有的兄弟元素li */
.two~li{
background-color: pink;
}
</style>
</head>
<body>
<ul>
<li><a href="">第1行</a></li>
<li class="two">第2行</li>
<li>第3行</li>
<li>第4行</li>
</ul>
</body>
</html>
结构选择器
选择器1 选择器2:first-child
===>在选择器1中选择第一个元素,并且该元素与选择器2选中的元素相同
若不同,则设置的属性值无效
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
ul li:first-child{
color: pink;
}
</style>
</head>
<body>
<!-- 选择器1 选择器2:first-child===>在选择器1中选择第一个元素,并且该元素与选择器2选中的元素相同
若不同,则设置的属性值无效
-->
<ul>
<h1>我是第一个子元素,我不是li元素,用ul li:first-child{
color: pink;}无效,我不会变粉</h1>
<li>第1个</li>
<li>第2个</li>
<li>第3个</li>
<li>第4个</li>
<li>第5个</li>
</ul>
</body>
</html>
选择器1 选择器2:first-of-type
===》在选择器1中选中所有的同级别的选择器2选中的元素,再找第一个出现的元素2
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 选择器1 选择器2:first-of-type=》在选择器1中选中所有的同级别的选择器2选中的元素,再找第一个出现的元素2 */
ul li:first-of-type{
color: aqua;
}
</style>
</head>
<body>
<ul>
<h1>111</h1>
<li>第1个</li>
<li>第2个</li>
<li>第3个</li>
<li>第4个</li>
</ul>
</body>
</html>
选择器1 选择器2:last-child
===》在选择器1中选择最后一个元素,并且该元素与选择器2选中的元素相同
选择器1>选择器2:last-of-type
=》在选择器1的子元素中选中和选择器2一样的元素,再找最后一个出现的元素
选择器1 选择器2:last-of-type
=》在选择器1的后代元素中选中和选择器2一样的元素,并在每代中再找最后一个出现的和选择器2一样的元素元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 选择器1>选择器2:last-of-type=》在选择器1的子元素中选中和选择器2一样的元素,再找最后一个出现的元素 */
ul>li:last-of-type{
color: aqua;
}
/* 选择器1 选择器2:last-of-type=》在选择器1的后代元素中选中和选择器2一样的元素,并在每代中再找最后一个出现的和选择器2一样的元素元素 */
ul li:last-of-type{
background-color: blue;
}
</style>
</head>
<body>
<ul>
<li>第1个</li>
<li>第2个
<ol>
<li>我是li里的li</li>
<li>我是li里的li</li>
<li>我是li里的li</li>
</ol>
</li>
<li>第3个</li>
<li>第4个</li>
</ul>
</body>
</html>
选择器1 选择器2:nth-child(num)
=>在选择器1每一代后代中选择第num个元素,并且该元素与选择器2选中的元素相同
选择器1>选择器2:nth-child(num)
=>在选择器1中选择第num个元素,并且该元素与选择器2选中的元素相同
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 选择器1>选择器2:nth-child(num)=>在选择器1每一代后代中选择第num个元素,并且该元素与选择器2选中的元素相同 */
ul li:nth-child(2){
color: aqua;
}
</style>
</head>
<body>
<ul>
<h1>1111</h1>
<li>第1个</li>
<li>第2个
<ol>
<li>我是li里的li</li>
<li>我是li里的li</li>
<li>我是li里的li</li>
</ol>
</li>
<li>第3个</li>
<li>第4个</li>
</ul>
</body>
</html>
选择器1>选择器2:nth-of-type(num)
=>在选择器1每一代后代中选择第num个元素,并且该元素与选择器2选中的元素相同
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 选择器1>选择器2:nth-of-type(num)=>在选择器1后代中选择与选择器2选中的元素相同的第num个元素*/
ul>li:nth-of-type(2){
color: aquamarine;
}
/* 选择器1>选择器2:nth-child(num)=>在选择器1中选择第num个元素,并且该元素与选择器2选中的元素相同 */
ul>li:nth-child(2){
font-size: 50px;
background-color: chartreuse;
}
</style>
</head>
<body>
<ul>
<h1>1111</h1>
<li>第1个</li>
<li>第2个
<ol>
<li>我是li里的li</li>
<li>我是li里的li</li>
<li>我是li里的li</li>
</ol>
</li>
<li>第3个</li>
<li>第4个</li>
</ul>
</body>
</html>
选择器:not(条件)
=》除了符合条件的选择器选中的其他元素