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

来源:博客园

2023-06-27 12:30:33

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

:has() 选择器简介

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


(资料图片仅供参考)

div

h1

div
div{border:1px solid #000;margin:1em;}div:has(h1){background-color:red;}

显示结果

:has() + : nth-child ()

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

p1

p1

p2

p1

p2

p3

.container{border:1px solid #000;margin:1em;}/* default */.container {background-color:#ddd;}/* 包含2个p时 */.container:has(> p:nth-child(2)){background-color:#aaa;}/* 包含3个p时 */.container:has(> p:nth-child(3)){background-color:red;}

显示效果:

其他使用示例

超过一定数量,某子元素应用样式

1
2
3
4
5
1
2
3
4

效果:只有在 5 个及以上子元素的情况下有,某子元素有特定样式(比如轮播图场景)

根据子元素数量文本分栏

Occaecat minim eu sint. Quis exercitation anim ipsum Lorem veniam sint. Proident ea irure id sit eu eu in. Cillum incididunt nisi nisi velit non cupidatat sint veniam minim voluptate voluptate exercitation velit tempor aliquip. Nisi exercitation ullamco aute ea laborum incididunt deserunt minim proident dolor tempor proident voluptate ipsum sit. Reprehenderit mollit exercitation amet cillum et irure est laboris esse excepteur voluptate aute. In in mollit qui aliqua culpa aliquip fugiat nulla occaecat magna id veniam quis.

Occaecat minim eu sint. Quis exercitation anim ipsum Lorem veniam sint. Proident ea irure id sit eu eu in. Cillum incididunt nisi nisi velit non cupidatat sint veniam minim voluptate voluptate exercitation velit tempor aliquip. Nisi exercitation ullamco aute ea laborum incididunt deserunt minim proident dolor tempor proident voluptate ipsum sit. Reprehenderit mollit exercitation amet cillum et irure est laboris esse excepteur voluptate aute. In in mollit qui aliqua culpa aliquip fugiat nulla occaecat magna id veniam quis.

Occaecat minim eu sint. Quis exercitation anim ipsum Lorem veniam sint. Proident ea irure id sit eu eu in. Cillum incididunt nisi nisi velit non cupidatat sint veniam minim voluptate voluptate exercitation velit tempor aliquip. Nisi exercitation ullamco aute ea laborum incididunt deserunt minim proident dolor tempor proident voluptate ipsum sit. Reprehenderit mollit exercitation amet cillum et irure est laboris esse excepteur voluptate aute. In in mollit qui aliqua culpa aliquip fugiat nulla occaecat magna id veniam quis.

Occaecat minim eu sint. Quis exercitation anim ipsum Lorem veniam sint. Proident ea irure id sit eu eu in. Cillum incididunt nisi nisi velit non cupidatat sint veniam minim voluptate voluptate exercitation velit tempor aliquip. Nisi exercitation ullamco aute ea laborum incididunt deserunt minim proident dolor tempor proident voluptate ipsum sit. Reprehenderit mollit exercitation amet cillum et irure est laboris esse excepteur voluptate aute. In in mollit qui aliqua culpa aliquip fugiat nulla occaecat magna id veniam quis.

Occaecat minim eu sint. Quis exercitation anim ipsum Lorem veniam sint. Proident ea irure id sit eu eu in. Cillum incididunt nisi nisi velit non cupidatat sint veniam minim voluptate voluptate exercitation velit tempor aliquip. Nisi exercitation ullamco aute ea laborum incididunt deserunt minim proident dolor tempor proident voluptate ipsum sit. Reprehenderit mollit exercitation amet cillum et irure est laboris esse excepteur voluptate aute. In in mollit qui aliqua culpa aliquip fugiat nulla occaecat magna id veniam quis.

显示效果:

结尾

使用 :has()+ :nth-child()可以在前端页面中更好的去做页面布局的自适应,也在内容不足的情况下提供了一种简单实用的容错方法。

而在兼容性上除 Firefox 浏览器,其他的浏览器均有较好的支持。

个人博客: www.iamsee.top

关键词:

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

theme:condensed-night-purplehighlight:atelier-cave-light在前端的页[详细]
2023-06-27

有生之年难幸免Ⅱ_对于有生之年难幸免Ⅱ简单介绍

1、《有生之年难幸免Ⅱ》是茉凝薇洛创作的言情小说。2、发表于晋江文学[详细]
2023-06-27

2023佛山高明区免费两癌检查怎么报名? 每日热闻

2023年高明区卫生健康局继续开展免费“两癌”筛查工作。一、报名时间:[详细]
2023-06-27

安禄山怎么死的

安禄山之死,似乎没有什么疑团。多部正史记载:他当皇帝后眼瞎患疽,性[详细]
2023-06-27

中欧嘉泽灵活配置混合型证券投资基金恢复大额申购、转换转入和定期定额投资业务的公告_讯息

1 公告基本信息基金名称中欧嘉泽灵活配置混合型证券投资基金基金简称中[详细]
2023-06-27

半月谈丨小众“潮运动”,井喷“火出圈”

小众“潮运动”,井喷“火出圈”半月谈记者刘扬涛马晓媛季嘉东飞盘、陆[详细]
2023-06-27

李想:奔驰 S 体验太糟 理想 L9 在 D 档低速行驶时 超声波雷达依然工作|焦点日报

快科技6月27日消息,昨天理想汽车CEO李想发文称:D档向前行驶,360全景[详细]
2023-06-27

最资讯丨天气炎热+LNG出口前景看好 美国天然气价格周一升至近四个月来最高水平

智通财经APP获悉由于高温预计将提振制冷需求且未来几周液化天然气出口[详细]
2023-06-27

世界观|诅咒?探索泰坦尼克号残骸有多难?|焦点速讯

考察“泰坦尼克”号邮轮残骸途中失踪的美国深海潜水器“泰坦号”TheUSd[详细]
2023-06-27

中创华翰1.12亿摘得重庆彭水县宅地 土地面积4.38万平米_焦点资讯

该宗地位于彭水县靛水街道(新城规划区范围内),宗地面积4 38万平方米[详细]
2023-06-27
版权所有: 热讯制冷网 All Rights Reserved
豫ICP备20005723号-6
联系邮箱:29 59 11 57 8@qq.com