兄弟相邻选择器问题

兄弟相邻选择器问题

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
	<title>css3选择器</title>
	<style>
	.pa>p {
		color: red;
	}	
	p + p {
		color: black!important;
	}			
	</style>
</head>
<body>
	<div class="pa">我是第1个div
	   <p>我是第1个P我要变红色</p> 
	   <p>我是第2个P</p>
	</div>
	<div class="pa">我是第2个div
	   <p>我是第3个P我要变红色</p> 
	   <p>我是第4个P</p> 
	   <p>我是第5个P</p> 
	</div>
</body>
</html>

直接使用div+p的方式不生效,用子元素的方法 div p+p也不行,最后用排除法,先全部给成红色,然后才排除其他的给黑色提升权重才生效,烦请老师解答哪里的出的问题。

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,代码是对的。问题解答如下:

div+p的形式不生效是因为结构不对。div+p是选择与div相邻的p元素,div与p是兄弟元素,因此结构需要调整如下:

https://img1.sycdn.imooc.com//climg/63789a350917b89e07670747.jpg

写样式时,要注意css选择器与html结构是否对应。

祝学习愉快!

  • 黑暗军兔 提问者 #1

    oh my god,我的理解是P是包括在div容器里的,结果是并列结构,不是包含关系?明白了,这边是用并列结构取相邻的思路。

    2022-11-19 16:59:50
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师