我在firefox插件的每个页面中注入了一些html + css。但这种风格有时会被样式表覆盖。我想阻止这种行为。
我知道这可以通过一些css技巧来解决。例如,添加!important
。但有没有办法在firefox或xul中轻松完成这项工作?
答案 0 :(得分:1)
单独使用!important
是不够的,网页可以做同样的事情并仍然覆盖您的样式。您可以use the Stylesheet Service注册用户样式表。如果您然后使用!important
,则网页将无法再覆盖您的样式。
请注意,用户样式表始终是全局的,适用于所有网页以及浏览器自己的XUL文档。您可以使用@-moz-document将其限制为特定网页。
答案 1 :(得分:0)
#MEGA_PLUNGIN a {}
#MEGA_PLUNGIN span {}
#MEGA_PLUNGIN div {}
#MEGA_PLUNGIN table {}
...
不是最好的解决方案,但是对......
答案 2 :(得分:0)
对我来说,这是一个肯定会使用!important
的案例。
也就是说,您可以尝试使用特异性来确保您的样式设置。
因此,请确保尽可能准确地定位元素,以覆盖那些不具体的样式。
例如,如果你有这个结构
<body>
<div>
<h1 class="something">
<a href>
网站的样式可能会定位
h1.something a{
你的目标应该是这样做
body div h1.something a{
更具体,会覆盖上述样式。
你可以做的另一件事是append
你的风格就在</head>
之前,这会使它们在级联中显示为最后一个,如果它们相等,则会被应用。