复合选择器仍然是选择器,只要是选择器,作用就是找标签。复合选择器就是把基础选择器进行组合使用。组合了之后就可以在大量的标签里面更快更精准地找标签了。找到了标签,也就能设置样式了。
后代选择器
程序示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>01-后代选择器</title>
<style>
div span {
color: red;
}
</style>
</head>
<body>
<span>span 标签</span>
<div>
<span>这是 div 的儿子 span</span>
<p>
<span>这里是 div 的孙子 span</span>
</p>
</div>
</body>
</html>
效果:
子代选择器
程序示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>02-子代选择器</title>
<style>
div>span {
color: red;
}
</style>
</head>
<body>
<span>span 标签</span>
<div>
<span>这是 div 的儿子 span</span>
<p>
<span>这里是 div 的孙子 span</span>
</p>
</div>
</body>
</html>
效果:
并集选择器
程序示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>03-并集选择器</title>
<style>
div,
p,
span {
color: red;
}
</style>
</head>
<body>
<div>div 标签</div>
<p>p 标签</p>
<span>span 标签</span>
</body>
</html>
效果:
交集选择器
程序示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>04-交集选择器</title>
<style>
p.box {
color: red;
}
</style>
</head>
<body>
<p class="box">p 标签,使用了类选择器 box</p>
<p>p 标签</p>
<div class="box">div 标签,使用了类选择器 box</div>
</body>
</html>
效果:
伪类选择器
程序示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>05-伪类选择器</title>
<style>
/* 任何标签都可以设置鼠标悬停状态 */
a:hover {
color: orange;
}
.box:hover:hover {
color: red;
}
</style>
</head>
<body>
<a href="#">a 标签,超链接</a>
<div class="box">div 标签</div>
</body>
</html>
程序示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>06-拓展-超链接伪类</title>
<style>
/* a:link {
color: skyblue;
}
/* 浏览器有缓存,一旦点击后就保持为visited的颜色,除非清空缓存,否则将看不见link的颜色 */
a:visited {
color: orange;
}
a:hover {
color: red;
}
/* 鼠标左键点击下去,不要松开,就能看见active的颜色 */
a:active {
color: black;
}
*/
/* 工作中,一般都是用一个 a 标签统一设置样式,唯独把 hover 状态单独设置 */
a {
color: red;
}
a:hover {
color: blue;
}
</style>
</head>
<body>
<a href="#">a 标签,测试伪类。</a>
</body>
</html>