是否有文本过滤器或 javascript/jquery 函数可以在样式表中的所有 css 选择器前添加一些东西?我试图用 twitter bootstrap 只影响一个 div,但它影响了它之外的侧边栏,无论如何都要这样做吗? (我不想使用 iframe。)
编辑:
我想要的是能够为 css 文件中的每个选择器添加一个 ID“#content”。
最佳答案
您在 sabithpocker 的回答下的评论告诉我,您不是动态更改样式,而是希望静态修改 CSS。我认为使用正则表达式最简单:
查找:([,|\}][\s$]*)([\.#]?-?[_a-zA-Z]+[_a-zA-Z0-9-]* )
替换为:$1#content $2
正则表达式分解
([,|\}][\s$]*)
- 从前面的样式中查找}
或,
空格(空格/制表符:\s
,换行符:$
)。右大括号\逗号可防止正则表达式查看您的样式的内部。[\.#]?
- 匹配样式名称中的起始#
或.
(如果存在)。-?[_a-zA-Z]+
- CSS 样式名称可以以下划线或字母开头。此外,样式名称可以在前面加上破折号。[_a-zA-Z0-9-]*
- 匹配样式名称的其余部分。这可以省略,但最好知道所有已修改样式的样式名称。$1#content $2
-(或
,
)和空格保持原样($1
)。它后面是您插入的文本#content
(注意空格),然后是样式名称 ($2
)。
我在 Notepad++ 中对此进行了测试,它适用于我的样式表。
需要注意的是,如果你的 CSS 没有被压缩(并且是多行的),
您将需要支持多行正则表达式的编辑器(Notepad++ 支持)。
关于javascript - 前置所有 CSS 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11161198/