一、css选择器可以分为五大类
- 核心选择器
- 层次选择器
- 属性选择器
- 伪类选择器
- 伪元素选择器
核心选择器 | id、class、标签、并且、和、普遍选择器 |
层次选择器 | 子选择器、后代选择器、兄弟选择器 |
属性选择器 | 常用表单元素(不常用)类似正则表达式 |
伪类选择器 | :hover 、:visited |
伪元素选择器 | ::after 、::before |
1)核心选择器(标签、并且、普遍选择器)
<!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>选择器</title>
<style>
ul,p,body {
margin: 0;
font-size: 30px;
}
/* 核心选择器中的并且选择器,选择div块元素,而且这个元素的类名为box */
div.box {
color: teal;
}
/* 核心选择器中的--标签选择器 */
div {
color: tomato;
}
ul.box {
color: violet;
}
ul.box::after {
content: "";
display: block;
clear: both;
}
ul.box > li {
float: left;
width: 100px;
text-align: center;
}
/* 并且选择器(核心选择器)和子代选择器(层次选择器)和普遍选择器(核心选择器) */
div.content > * {
color: yellowgreen;
}
</style>
</head>
<body>
<div class="box" id="one">this id is one ,this class is box</div>
<div class="box">this class is box</div>
<div class="container"> this is container</div>
<ul class="box">
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
<p>hello world</p>
<div class="content">
<p>hello p</p>
<h2>hello h2</h2>
</div>
<div class="content">
<div>hello div</div>
</div>
</body>
</html>
运行结果:
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>兄弟选择器</title>
<style>
ul.rank {
margin: 0;
padding: 0;
list-style: none;
font-size: 30px;
font-weight: 700;
}
/* 类名为rank的ul元素的所有子元素li中第二个子元素的下一个子元素 */
/* 核心选择器(或者类选择器)和层次选择器(子选择器和兄弟选择器) */
ul.rank > li:nth-child(2) + *{
color: tomato;
}
</style>
</head>
<body>
<ul class="rank">
<li>html</li>
<li>css</li>
<li>js</li>
<li>jquery</li>
<li>bs</li>
</ul>
</body>
</html>
运行结果: