层次选择器
假设body中代码如下:
<body>
<p class="a">标题1</p>
<p>标题2</p>
<p>标题3</p>
<!--无序列表-->
<ul>
<li>标题4</li>
<li>标题5</li>
<li>标题6</li>
</ul>
</body>
后代选择器
<style>body p{
background:red;
}</style>
则标题1——6背景色全变红
子选择器
<style>body>p{
background:red;
}</style>
则标题1——3背景色变红
相邻兄弟选择器(弟弟选择题)
<style>.a + p{
background:red;
}</style>
则标题二变红
通用选择器(所有弟弟选择器)
<style>.a ~ p{
background:red;
}</style>
则标题二、三变红
2.结构伪类选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/*ul的第一个子元素*/
ul li:first-child{
background: blue;
}
/*ul的最后一个子元素*/
ul li:last-child{
background: aquamarine;
}
/*选择当前p元素的父级元素的第一个元素,故该选中的元素不一定为p标签 */
p:nth-child(1){
background: coral;
}
/*选择当前p元素的父级元素的第二个为p元素*/
p:nth-of-type(2){
background: darkmagenta;
}
</style>
</head>
<body>
<p >标题1</p>
<p>标题2</p>
<p>标题3</p>
<!--无序列表-->
<ul>
<li>标题4</li>
<li>标题5</li>
<li>标题6</li>
</ul>
</body>
</html>
结果如下:
3.属性选择器(建议常用)
<body>
<p class="a">
<!-- id是唯一的-->
<a href="http://www.baidu.com" class="b" id="one">1</a>
<a href="" class="c" target="_blank" title="标题">2</a>
<a href="">3</a>
<a href="">4</a>
<a href="">5</a>
<a href="">6</a>
<a href="">7</a>
<a href="">8</a>
<a href="">9</a>
<a href="">10</a>
</p>
</body>
/*选中a标签中带有id属性的*/
a[id]{
background: darkmagenta;
}
/*选中a标签id叫one的*/
a[id=one]{
background: royalblue;
}
/*选中class为c的所有a标签*/
a[class*="c"]{
background: brown;
}
/*选中href中以http开头的元素*/
a[href^=http]{
background: chartreuse;
}
/*选中href中以com结尾的元素*/
a[href$=com]{
background: darkkhaki;
}
/*总结:= 绝对等于*/
/* *=包含*/
/* ^=以什么什么开头*/
/* $=以什么什么结尾*/