WebExtension:don';不能继承网站CSS

WebExtension:don';不能继承网站CSS,css,google-chrome-extension,firefox-addon-webextensions,Css,Google Chrome Extension,Firefox Addon Webextensions,我正在编写一个WebExtension,它将一些HTML元素和CSS注入到页面中。我的问题是,控制元素不从主网站样式表继承样式很麻烦,特别是应用于某些元素而不是类或ID的规则 例如,如果为主站点定义了一些.button{…}规则,则我的按钮元素倾向于从主站点继承样式(并且我没有显式覆盖它) 如何防止这种情况发生?我想你可以使用CSS重置来重置元素,并从中构建UI元素。谢谢,迈克,你的意思是我在注入的CSS顶部插入了它?这不太管用,一些来自主站点的规则仍然过于具体。例如,如果主站点为一个div定义

我正在编写一个WebExtension,它将一些HTML元素和CSS注入到页面中。我的问题是,控制元素不从主网站样式表继承样式很麻烦,特别是应用于某些元素而不是类或ID的规则

例如,如果为主站点定义了一些
.button{…}
规则,则我的
按钮
元素倾向于从主站点继承样式(并且我没有显式覆盖它)


如何防止这种情况发生?

我想你可以使用CSS重置来重置元素,并从中构建UI元素。谢谢,迈克,你的意思是我在注入的CSS顶部插入了它?这不太管用,一些来自主站点的规则仍然过于具体。例如,如果主站点为一个div定义了边界半径,CSS重置将必须特别覆盖它。那么我认为你只需要比其他样式更具体。也许给父元素添加一个id,并在每个CSS选择器中使用它?是的,似乎是最好的选择。。。谢谢。在Chrome中使用ShadowDOM可以实现风格隔离,不幸的是,Firefox中还没有。我想你可以使用CSS重置来重置你的元素,然后从那里构建你的UI元素。谢谢Mike,你的意思是我在注入的CSS顶部插入这个?这不太管用,一些来自主站点的规则仍然过于具体。例如,如果主站点为一个div定义了边界半径,CSS重置将必须特别覆盖它。那么我认为你只需要比其他样式更具体。也许给父元素添加一个id,并在每个CSS选择器中使用它?是的,似乎是最好的选择。。。谢谢。在Chrome中使用ShadowDOM可以实现风格隔离,不幸的是,Firefox中还没有。