You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CSS中是否支持通过或(OR)逻辑组合多个属性选择器?

CSS属性选择器的“或”逻辑实现方式

多个CSS属性选择器直接连写(无分隔符)时,默认确实是「与(AND)」组合匹配逻辑,即元素必须同时满足所有连写选择器的条件才会被选中,示例:

/* 匹配href以https开头、且以.org结尾的链接 */
a[href^="https"][href$=".org"] {
  color: green;
}

CSS没有提供属性选择器单组连写的“或”语法,要匹配href属性值包含a、b、c三者中任意一个的<a>元素,标准写法是用逗号分隔多个选择器组成选择器列表——只要元素满足列表中任意一个选择器的匹配规则,就会被选中,这是CSS原生实现“或”逻辑的通用方案,写法如下:

/* 匹配href包含a、或包含b、或包含c的a元素 */
a[href*="a"],
a[href*="b"],
a[href*="c"] {
  /* 在这里写自定义样式 */
  color: green;
}

补充两点说明:

  • 上述代码中用到的[href*="xxx"]是CSS属性选择器的子串匹配语法,作用是匹配href属性值任意位置包含指定字符串的元素
  • 逗号分隔实现或逻辑的规则适用于所有CSS选择器,不止属性选择器,类选择器、ID选择器、伪类选择器等都可以通过这种方式组合,实现多条件或匹配

内容的提问来源于stack exchange,提问作者Enlico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 17:36:28