当前位置: 首页 > news >正文

css中:is和:where 伪函数

在 CSS 里,:is() 属于伪类函数,其作用是对一组选择器进行匹配,只要元素与其中任何一个选择器相匹配,就可以应用对应的样式规则。以下是详细介绍:
基本语法
:is() 函数的参数是一个或多个选择器,各个选择器之间用逗号分隔。其基本语法如下:

:is(selector1, selector2, ...) {/* 样式声明 */
}

功能说明
1. 选择器分组
运用 :is() 能够把多个选择器组合起来,让匹配这些选择器的元素应用相同的样式。示例代码如下:

:is(h1, h2, h3) {color: red;
}

2. 简化复杂选择器
在编写复杂选择器时,:is() 能避免重复书写相同的选择器前缀,使代码更简洁。示例如下:

article :is(h1, h2, h3) {font-family: sans-serif;
}

优先级计算
:is() 函数的优先级由其参数中优先级最高的选择器决定。例如:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* 这里 #one-is 的优先级最大, :is(#one-is, .two-is) 的优先级等于#one-is,所以背景都是黄色*/:is(#one-is, .two-is) {background: yellow;}.two-is {background: pink;}</style>
</head><body><div id="one-is">测试is的1</div><div class="two-is">测试is的2</div>
</body></html>

与 :where() 的区别
:is() 和 :where() 都能对选择器进行分组,但二者在优先级计算上有所不同。 :is() 的优先级由其参数中优先级最高的选择器决定,而 :where() 的优先级始终为 0。示例如下:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* 这里 #one-is 的优先级最大, :is(#one-is, .two-is) 的优先级等于#one-is,所以背景都是黄色*/:is(#one-is, .two-is) {background: yellow;}.two-is {background: pink;}/* where 的优先级为0, 所以 :where(#one-where, .two-where) 的优先级没有.two-where 的大*//* 测试where的2 的颜色是粉色 */:where(#one-where, .two-where) {background: yellow;}.two-where {background: pink;}</style>
</head><body><div id="one-is">测试is的1</div><div class="two-is">测试is的2</div><div id="one-where">测试where的1</div><div class="two-where">测试where的2</div>
</body></html>

需要注意的是:旧版本浏览器中可能存在兼容性问题,使用时要注意

相关文章:

  • 算力困局:AI 狂飙背后的能源枷锁与破局之道
  • 如何使用electron-forge开发上位机ui
  • 2024ICPC成都题解
  • word2Vec与GloVe的区别
  • MySQL数据库(14)—— 使用C操作MySQL
  • 【学习笔记】机器学习(Machine Learning) | 第四章(3)| 多变量线性回归
  • 算法训练营第五天 | 哈希表理论基础、 242.有效的字母异位词、349. 两个数组的交集、 202. 快乐数、1. 两数之和
  • 最新Spring Security实战教程(十三)会话管理机制 - 并发控制与会话固定攻击防护
  • qnn-2-27 sdk 环境配置示例
  • 逆向设计——CWDM_splitter
  • 8.2 段落格式
  • 一文了解 模型上下文协议(MCP)
  • 数据库Mysql学习——day7(多表查询(JOIN)进阶)
  • 检测图片指定多个位子像素坐标与目标比较。外部图像识别。如红色,黄色,绿色。。。
  • HTML 从标签到动态效果的基础
  • [计算机科学#4]:二进制如何塑造数字世界(0和1的力量)
  • JAVA:线程池
  • H3C华三:单臂路由配置
  • 用Postman验证IAM Token的实际操作
  • 2025年五一数学建模竞赛AI辅助全网专业性第一
  • 三大白电巨头去年净利近900亿元:美的持续领跑,格力营收下滑
  • 五一假期如何躺赚利息?来看国债逆回购操作攻略
  • 西湖大学本科招生新增三省两市,首次面向上海招生
  • 王毅:妥协退缩只会让霸凌者得寸进尺
  • ​关键词看中国经济“一季报”:韧,长期向好看底气
  • 伊朗港口爆炸致18死800余伤,三分之二伤者已出院