css选择器 nth-child(n)和nth-of-type(n)对比

</pre>最近在看《图解css3》,发现选择器之间还是有不少坑的。<p></p><p>下面介绍nth-child(n)和nth-of-type(n)之间的区别</p><p>首先介绍一下两个选择器</p><p>:nth-child():用来定位某个父元素的一个或多个特定的子元素</p><p>:nth-of-type():用来定位父元素中某种类型的子元素。</p><p>上面是书中关于这两种选择器的定义。</p><p>接下来,我们以具体的代码进行阐述</p><p></p><pre code_snippet_id="1737231" snippet_file_name="blog_20160630_2_8680556" name="code" class="html"><!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style type="text/css">
		ul{
			list-style: none;
		}
		li{
			display: inline-block;
			border:1px solid #ccc;
			width: 50px;
			height: 50px;
			font:bold 30px/50px arial;
			padding:5px;
			border-radius: 50px;
			text-align: center;
		}
	</style>
</head>
<body>
	<ul>
		<li>1</li>
		<li>2</li>
		<label>3</label>
		<li>4</li>
		<li>5</li>
		<li>6</li>
		<li>7</li>
		<li>8</li>
		<li>9</li>
		<li>10</li>
	</ul>
</body>
</html>

首先使用 

ul li:nth-child(-n+4){
	background-color: #0066ff;
}


上图我们可以看出,使用nth-child 的时候 再使用li 其实是没有意义的,我们想选取前4个元素,由于加入了li 反而使我们的结果变的很怪

然后我们把 li标签去掉,再试一下


上面的图中我们可以看出,由于去掉了 li标签,所以将ul 下面的前4个元素均选出来了


然后我们说一下 :nth-of-type选择器

如果我们想将ul 下前4个li 标签选择出来

该标签就派上用场了。

ul li:nth-of-type(-n+4){
	background-color: #0066ff;
}


上面的图我们可以看出,该选择器过滤掉了label标签,将前4个li标签选择了出来


在书中,作者对nth-of-type的使用场景进行了说明

1:营造一种有随意感的洁面,

2:使文章中的图片交替着向左向右浮动

3:为一篇文章中的头一段设置不同的样式

4:制作图表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值