覆盖CSS样式

时间:2012-03-17 21:50:19

标签: javascript html javascript-events

假设我在<body>

中添加了以下内容

<script src="https://gist.github.com/2059.js"> </script>

查看该js文件,第一行是:

document.write('<link rel="stylesheet" href="https://gist.github.com/stylesheets/gist/embed.css"/>')

我没有该js文件的写权限。是否有可能动态交换embed.css并在href中交换到该css文件的另一个版本?可以这样做,它不需要用户输入 - 页面将加载我自己的CSS文件而不是embed.css?

1 个答案:

答案 0 :(得分:4)

这里最简单的选择是以一种覆盖Gist CSS的方式加载自己的CSS - 这比尝试动态更改Gist提供的代码要简单得多。有两种选择:

  • !important添加到CSS声明中。

  • 使用与Gist CSS相同的选择器,但使用另一个选择器作为前缀,使它们比Gist CSS声明更具体,例如: mycontentarea .gist-syntax .c

第二个选项可能会更可靠,只要你知道一个封闭元素的选择器。在这里查看一个工作示例(我用一个讨厌的黄色替换了标准的Gist字符串颜色):http://jsfiddle.net/aqGEc/