css:复合选择器(后代、⼦选择器、并集、伪类)
1、什么是复合选择器
在css中,可以根据选择器的类型,把选择器分为基础选择器和复合选择器,复合选择器是建⽴在基础选择器之上的,对基础选择器进⾏组合形成的
复合选择器可以更准确、更⾼效的选择⽬标元素(标签)
复合选择器是由两个或多个基础选择器,通过不同的⽅式组合⽽成的
常⽤的复合选择器:后代选择器、⼦选择器、并集选择器、伪类选择器等等
2、后代选择器
(1)后代选择器⼜称为包含选择器,可以选择⽗元素⾥⾯的⼦元素。其写法就是把外层标签写在前⾯,内层标签写在后⾯,中间⽤空格分隔。当标签发⽣嵌套时,内层标签就发⽣外层标签的后代
(2)举例
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
ol li{
color: red;
}
</style>
</head>
<div></div>
<body>
<ol>
<li>星期⼀</li>
<li>星期⼆</li>
<li>星期三</li>
<li>星期四</li>
</ol>
</body>
</html>
元素⼀是⽗亲,元素⼆是孩⼦,最终修改的是元素⼆(孩⼦,可以是⼉⼦、孙⼦... ...)
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
ol li a{
color: red;
}
</style>
</head>
<div></div>
<body>
<ol>
<li><a href="#">星期⼀</a></li>
</ol>
</body>
</html>
区分两个相同的标签元素:
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
ol li a{
color: red;
}
.nav li a{
color: yellow;
}
</style>
</head>
<div></div>
<body>
<ol>
<li><a href="#">星期⼀</a></li>
</ol>
<ol class="nav">
<li><a href="#">星期⼆</a></li>
</ol>
css选择器分为哪几类</body>
</html>
3、⼦选择器
⼦选择器只能选择作为某元素的最近⼀级⼦元素
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
ol li a{
color: red;
}
.nav>a{
color: yellow;
}
</style>
</head>
<div></div>
<body>
<ol>
<li><a href="#">星期⼀</a></li>
</ol>
<ol class="nav">
<a href="#">星期⼆</a>
<li><a href="#">星期三</a></li>
</ol>
</body>
</html>
元素⼀与元素⼆中间⽤ > 相分隔
4、并集选择器
并集选择器可以选择多组标签,同时为他们定义相同的样式,通常⽤于集体声明(1)熊⼤和熊⼆都改为红⾊:
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
div,p{
color: red;
}
</style>
</head>
<body>
<div>熊⼤</div>
<p>熊⼆</p>
<span>光头强</span>
<ul class="pig">
<li>⼩猪佩奇</li>
<li>猪爸爸</li>
<li>猪妈妈</li>
</ul>
</body>
</html>
元素之间⽤逗号分隔
(2)熊⼤、熊⼆和⼩猪⼀家都改为红⾊:
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
div,p,.pig li{
color: red;
}
</style>
</head>
<body>
<div>熊⼤</div>
<p>熊⼆</p>
<span>光头强</span>
<ul class="pig">
<li>⼩猪佩奇</li>
<li>猪爸爸</li>
<li>猪妈妈</li>
</ul>
</body>
</html>
5、伪类选择器
⽤于向某些选择器添加特殊的效果,⽐如给链接添加特殊效果,或选择第⼀个、第n个元素伪类选择器的最⼤特点是⽤冒号(:)表⽰
伪类选择器的种类很多,例如:链接伪类、结构伪类
a:link        选择所有未被访问的链接
a:visited  选择所有已经被访问的链接
a:hover    选择⿏标指针位于其上的链接
a:active  选择活动链接(⿏标按下未弹起的链接)
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
a:link {
/*未访问的链接*/
color: #333;
text-decoration: none;
}
a:visited {
/*访问过的链接*/
color: red;
text-decoration: none;
}
a:hover {
/*⿏标经过的时候的链接*/
color: deeppink;
text-decoration: none;
}
a:active {
/*活动链接*/
color: aquamarine;
text-decoration: none;
}
</style>
</head>
<body>
<a href="#">新闻</a>
</body>
</html>
为了确保伪类⽣效,需要按照LVHA的顺序书写:link-visited-hover-active(LV包包hao)
6、focus伪类选择器
⽤于选择获得焦点的表单元素,焦点就是光标,⼀般情况下<input> 类表单元素才能获取,因此这个选择器也要针对于表单元素来说<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
input:focus{
background-color: red;
}
</style>
</head>
<body>
<input type="text"/><br />
<input type="text"/><br />
<input type="text"/><br />
</body>
</html>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。