简介
:in-range
选择器用于匹配值在指定范围内内的元素。它允许您根据元素的属性值对元素进行更精细的样式控制。
语法
:in-range(min-value, max-value)
其中:
min-value
是范围的最小值(包括)。max-value
是范围的最大值(包括)。
用法
:in-range
选择器可以与任何 CSS 属性一起使用,但最常用于以下属性:
width
height
font-size
line-height
opacity
例如,要为宽度介于 200px 和 400px 之间的元素设置红色背景,可以使用以下 CSS:
div:in-range(200px, 400px) { background-color: red; }
范围值
范围值可以是任何有效的 CSS 值,包括:
- 长度值(例如,
px
、em
、rem
) - 百分比值(例如,
%
) - 数字值(例如,
5
) - 关键字(例如,
auto
、initial
)
排除值
要排除范围内的特定值,可以使用 not()
函数。例如,要为宽度不为 300px 的元素设置蓝色背景,可以使用以下 CSS:
div:not(:in-range(300px, 300px)) { background-color: blue; }
嵌套范围
:in-range
选择器可以嵌套使用以创建更复杂的范围。例如,要为宽度介于 200px 和 300px 之间且高度介于 100px 和 200px 之间的元素设置绿色背景,可以使用以下 CSS:
div:in-range(200px, 300px):in-range(100px, 200px) { background-color: green; }
浏览器支持
:in-range
选择器得到了所有现代浏览器的支持,包括:
- Chrome
- Firefox
- Safari
- Edge
- Opera
使用场景
:in-range
选择器可以用于多种情况,包括:
- 为不同大小的元素设置不同的样式
- 根据元素的文本长度调整元素的宽度
- 根据元素的透明度调整元素的可见性
替代方案
在不支持 :in-range
选择器的浏览器中,可以使用 calc()
函数和比较运算符来创建类似的效果。例如,要为宽度介于 200px 和 400px 之间的元素设置红色背景,可以使用以下 CSS:
div { background-color: red; } div:not(:calc(width >= 200px)):not(:calc(width <= 400px)) { background-color: initial; }