我想知道有没有办法在 css 文件中做类似正则表达式替换的事情?
例如:我有很多这样的选择器:
#div_23
#div_45
#div_8
假设我不能使用类来添加样式,有没有办法在 CSS 文件中做这样的事情:
#div_[0-9] {background:#000000}
我想知道有没有办法在 css 文件中做类似正则表达式替换的事情?
例如:我有很多这样的选择器:
#div_23
#div_45
#div_8
假设我不能使用类来添加样式,有没有办法在 CSS 文件中做这样的事情:
#div_[0-9] {background:#000000}
您可以部分匹配属性(css2.1 doc / css3 doc) - 但请注意,这些规则相当慢。特别是在您的情况下,您必须使用超慢属性选择器来匹配在使用#
.
我更喜欢使用带连字符的 ID 和类,我发现它们更具可读性,这样您就可以使用以下匹配器:
[att|=val]
适用于您的案例:
#div-23
#div-45
#div-8
#div
都会匹配
[id|=div]{background:#000000}
但是,CSS3 提供了以下属性选择器(所有主流浏览器都支持),它非常适合您的情况:
[att^=val]
所以你可以写:
[id^=div_]{background:#000000}
匹配
#div_23
#div_45
#div_8
/* and */
#div_
试试[id^=div_]
这个应该有帮助