CSS实现根据子元素数量应用不同样式

本文介绍了如何使用CSS的:has()选择器根据子元素的数量来应用不同的样式。内容包括选择器简介、+的用法,以及超量子元素样式应用和文本分栏的示例,展示了该技术在前端页面布局和自适应设计中的应用。
摘要由CSDN通过智能技术生成

欢迎访问个人博客: www.iamsee.top

在前端的页面布局中经常会出现在子元素个数使用不同的样式的需求,比如文章列表,在较少内容下单列表现,而在元素内容较多时使用双列表现。再比如在页面排版上,可以根据元素内容的多少来修改内容的缩放,位置,颜色等样式

:has() 选择器简介

: has()选择器中的括号传递一个选择器参数,如果选择器匹配上了元素就会应用后面的样式,例如:

<div>
	div
</div>

<div>
	<h1>h1</h1>
	div
</div>
div{
   
	border:1px solid #000;
	margin:1em;
}

div:has(h1){
   
	background-color:red;
}

显示结果

:has() + :nth-child ()

现在我们知道了 :has() 选择器是用来在匹配成功时使用样式的,而加上 :nth-child() 就会有根据子元素数量去匹配样式的效果
例如:

<div class="container">
	<p>p1</p>
</div>

<div class="container">
	<p>p1</p>
	<p>p2</p>
<
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值