CSS中的正则表达式 - 样式表

时间:2014-07-05 11:32:33

标签: css css3 css-selectors

我刚刚发现我们可以在CSS中使用正则表达式,并找到了这个帮助网址: - http://www.w3.org/TR/selectors/#attribute-substrings

但我无法在那里找到答案。

我的问题是我可以使用像

这样的东西
s* {
 margin : $1px;
}

*获取任何数据,并将其与$1一起使用。

这就是说,s之前px之后可以使用的是什么。

由于

3 个答案:

答案 0 :(得分:1)

你可以做这样的事情

#container div[id^='a'] {
    border: 1px solid black;  
}

检查:W3

答案 1 :(得分:0)

首先,你误解了规范。你不能使用这样的模式。你可以做像

这样的事情
*[attr*="string"]

它将匹配值中某处具有attr属性string的任何元素。但是,第一个*在这里仅表示“任何元素”,第二个*表示“在字符串中的任何位置使用子字符串”。没有实际的正则表达式模式匹配,因此在这种情况下匹配的值始终为string

其次,不,你不能在CSS中做任何类似的替换。如果你想做那种事情,你可能想看看像LESS,Sass或Stylus这样的东西。

答案 2 :(得分:0)

不,你不能:选择器根据正则表达式匹配与否,就是这样 您不能在声明中将其重用为值的一部分,如示例所示。

如果你想编写类似的内容,你可以使用带有for循环的预处理器(LESS,Sass或Stylus):

.mt1 { margin-top: 10px }
.mt2 { margin-top: 20px }
.mt3 { margin-top: 30px }

我甚至不确定每个都有for循环(因为它几乎不需要)