css3h5中的结构伪类选择器

本文介绍了CSS3和HTML5中的结构伪类选择器,包括first-child、last-child、first-of-type、last-of-type、nth-child(n)、nth-of-type(n)、first-line、first-letter以及nth-child(odd)和nth-child(even)的用法和注意事项。详细解析了它们在不同场景下的生效条件和效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近用的比较多,就总结一下
1.first-child和last-child

    <ul>
        <li>一</li>
        <li>二</li>
        <li>三</li>
        <li>四</li>
    </ul>
//匹配到父元素的第一个子元素
.li:first-child{
background-color:pink;
}
//匹配到父元素的最后一个子元素
li:last-child{
background-color:yellow;
}

如果出现下面情况,就会失效

<div>
        <p>一</p>
        <span>二</span>
    </div>
span:first-child{
           background-color: pink;
       }

此时span并不是其父级元素的第一个子元素,就是说,要用first-child,其子元素必须是父元素第一个子元素,这一点last-child是一样的.

2.first-of-type和last-of-type

<div>
        <p>一</p>
        <span>二</span>
    </div>
//此时用first-of-type是可以的
span:first-of-type{
           background-color: pink;
       }

first-of-type此时的意思是span是其父元素中第一个span类型的子元素,css是可以生效的.

3.:nth-child(n);nth-of-type(n)

<div>
    <p>一</p>
    <p>二</p>
    <p>三</p>
    <span>四</span>
    <span>五</span>
    <span>六</span>
    <a href="">七</a>
    <a href="">八</a>
</div>
div :nth-child(1){
           color: pink;
       }
 div :nth-of-type(2){
 color:pink;
 }

div:nth-child(n): 父级的第n个子元素
div:nth-of-type(n):父级下的不同类型标签的第n个子元素
:nth-last-child(n);:nth-last-of-type和 :nth-child(n) ; :div:nth-of-type(n)用法相似
:nth-last-child(n)为倒数第n个元素
:div:nth-of-type(n)为倒数第n个标签.

4.:first-line和:first-letter.

<body>
	<div>
		<p>一二三四五六七八九一二三四五六七八九一二三四五六七八九一二三四五六七八九</p>
	</div>
</body>
<style>
	div{

		width: 100px;
		height:100px;
	}
	p:first-line{
		color: red;
	}
	p:first-letter{
		color: green;
	}

	</style>

:first-line是元素的第一行添加样式
:first-letter是元素的第一个字母或汉字添加样式

5.:nth-child(odd)和:nth-child(even).

<div>
		<ul>
			<li></li>
			<li></li>
			<li></li>
			<li></li>
			<li></li>
		</ul>
	</div>
<style>
	li{
		width: 100px;
		height: 100px;
		border:1px solid black;
		list-style: none;
	}
//li中奇数项背景色为红色
    li:nth-child(odd){
       background-color: red;
    }
    //li偶数项背景色为蓝色
    li:nth-child(even){
    	background-color: blue;
    }
	</style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值