覆盖CSS样式

Overriding CSS styles

本文关键字:样式 CSS 覆盖      更新时间:2023-09-26

假设我在<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加载?

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

  • !important添加到CSS声明中。

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

第二个选项可能更可靠,只要您知道封闭元素的选择器。请参阅此处的工作示例(我已将标准Gist字符串颜色替换为讨厌的黄色):http://jsfiddle.net/aqGEc/