CSS实现根据子元素数量应用不同样式
在前端的页面布局中经常会出现在子元素个数使用不同的样式的需求,比如文章列表,在较少内容下单列表现,而在元素内容较多时使用双列表现。再比如在页面排版上,可以根据元素内容的多少来修改内容的缩放,位置,颜色等样式
(资料图片)
:has() 选择器简介
: has()选择器中的括号传递一个选择器参数,如果选择器匹配上了元素就会应用后面的样式,例如:
divh1
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
关键词:
上一篇:现货黄金交易策略:金价温和反弹,受避险买盘支撑|环球新要闻
下一篇:最后一页
- 生意社:短期内磷酸铁锂市场稳中偏强运行
- 7月起一批新规陆续施行 涉及汽车、出行、消费等
- 七彩化学再收警示函 因业绩预告不准、信披不及时_全球时讯
- 导师在太空中也在催你交论文!
- 当前观点:普瑞眼科(301239)股东成都普瑞世纪投资有限责任公司质押190万股,占总股本1.27%
- 中国信通院发布“2023大数据十大关键词” 环球热消息
- DeepMind:谷歌新AI模型Gemini将结合AlphaGo 比GPT-4更强 环球观察
- 广州关区长沙关区实现互认 两地企业可跨省办理电子口岸业务 环球微速讯
- 黑龙江省佳木斯市2023-06-20 14:07发布大风蓝色预警
- 消息称谷歌终止了AR眼镜项目 即时焦点
-
消息称谷歌终止了AR眼镜项目 即时焦点
据外媒援引三位不愿透露姓名的知情人士报道,谷歌搁置了一个已经开发了
-
共享单车免费骑,广州市民变身“城市美容师”
文 羊城晚报全媒体记者严艺文为了治理街头小广告,6月27日,广州市海珠
-
惠英红为马丽庆生 晒两人合照喊对方为好妹子-今日聚焦
惠英红为马丽庆生晒两人合照喊对方为好妹子
-
世界短讯!拉布拉多犬训练上厕所(拉布拉多犬训练方法)
你们好,最近小活发现有诸多的小伙伴们对于拉布拉多犬训练上厕所,拉布
-
天天日报丨说画算数丨天府国际机场两岁了,来看它的成绩单!
今天,成都天府国际机场迎来了两周岁生日。正式通航两年来,天府机场旅
-
跳票加搞钱!贾老板的故事又一次上演
说句实话,在让人失望这件事上,贾布斯真的从没让人失望过。当5月31日
-
当前简讯:猪价再次跌破7元/斤,7月猪价分歧明显
猪价再次跌破7元 斤,目前,国内外三元生猪报价降至6 98元 斤左右,猪
-
全球最资讯丨直播购物平台初创公司【BOND】完成200万美元种子轮融资,Nordstar领投
近日,直播购物平台初创公司BOND宣布完成200万美元种子轮融资。本轮融
-
辉隆股份:拟以5000万元-1亿元回购股份-全球观天下
App6月27日消息,辉隆股份公告,拟以5000万元-1亿元回购股份,回购价格
-
全球关注:科画|高考志愿填报,你需要注意什么
2023年高考已经结束,马上就要到高考填报志愿的时刻了。高考志愿填报前
X 关闭
荣昌三项目上榜数字经济产业发展试点示范项目名单
今日视点:看完天津90后夫妻43㎡的家,才发现装修越简单越高级,温馨又治愈
中国信通院副院长:中国5G发展迎来规模化发展关键期|每日快看
共享单车免费骑,广州市民变身“城市美容师”
全球关注:科画|高考志愿填报,你需要注意什么
X 关闭
播报:ST通脉 (603559):6月28日该股成交量呈现间隔放量状态
焦点速讯:《冒险之旅》道士速通攻略
全球快看:龙元建设6月28日开盘涨停
LNG运输蓬勃发展气体运输船订单大增
世贸组织总干事伊维拉:要充分避免“脱钩”发生