一、CSS高级选择器的几种写法
1、xxx:first-child 选择第一个xxx元素
2、xxx:nth-of-type(even) 选择序号同类型为偶数的xxx元素
3、xxx:nth-of-type(odd) 选择序号同类型为奇数的xxx元素
4、xxx:nth-of-type(index) 选择(同类型)序号为index的xxx元素
5、xxx:nth-child(n) 选择序号(自然排序)为n的xxx元素
二、实战案例
1、效果:
2、案例分析
分析效果图可知:
第一个li需要设置背景色,用到:first-child选择器,
li相间的背景色效果,可以使用:nth-of-type(even)和:nth-of-type(odd)来实现
第一列,第二列和第三列,第四列的宽度不一致,可以通过xxx:nth-child(n)或者xxx:nth-of-type(index)选择器设置width
3、源代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
* { margin: 0px; padding: 0px; border: none; list-style: none;}
ul {width: 600px;margin: 50px auto;border-radius: 20px; overflow: hidden;}
li {padding: 10px 0px;}
img {height: 120px;vertical-align: middle;}
ul>li:nth-of-type(even) {background-color: #E3E3E3;}
ul>li:nth-of-type(odd) {background-color: #f7f7f7;}
ul>li:first-child {background-color: #0999F8;font-size: 16px;font-weight: bolder;padding:10px 0px;overflow: hidden;}
li>div {display: inline-block;width: 120px;text-align: center;}
li>div:nth-of-type(1),li>div:nth-child(2){width: 30%;}
li>div:nth-of-type(3),li>div:nth-child(4){width: 18%;}
</style>
</head>
<body>
<div class="container">
<ul>
<li>
<div>海报</div>
<div>IMD8电影排行榜</div>
<div>评分</div>
<div>年份</div>
</li>
<li>
<div>
<img src="img/1.png" >
</div>
<div>肖申克的救赎</div>
<div>9.7</div>
<div>1994 </div>
</li>
<li>
<div>
<img src="img/2.png" >
</div>
<div>霸王别姬</div>
<div>9.6</div>
<div>1993</div>
</li>
<li>
<div>
<img src="img/3.png" >
</div>
<div>阿甘正传</div>
<div>9.5</div>
<div>1994</div>
</li>
<li>
<div>
<img src="img/4.png" >
</div>
<div>这个杀手不太冷</div>
<div>9.4</div>
<div>1994</div>
</li>
<li>
<div>
<img src="img/5.png" >
</div>
<div>泰坦尼克号</div>
<div>9.4</div>
<div>1997</div>
</li>
</ul>
</div>
</body>
</html>
注:xxx:nth-child(n)和xxx:nth-of-type(index)的区别: