Javascript 如何停止容器DIV上的所有CSS覆盖?

Javascript 如何停止容器DIV上的所有CSS覆盖?,javascript,html,css,Javascript,Html,Css,我有一个容器div,我使用bookmarklet将其添加到外部网站来执行一些功能,我面临的问题是这个div包含一些元素,每个元素都有其内联样式,但当我放入外部网站时,有时它会覆盖来自网站CSS的样式 有一种方法可以停止此div上的任何重写吗?主机站点应使用定义其CSS属性!重要提示注意(颜色:红色!重要提示;) 或者可以使用JavaScript(jQuery)将样式附加到DIV中。您可以检查DIV是否已经有样式,这样您就可以决定添加或不添加任何样式。宿主站点应该使用定义其CSS属性!重要提示注意

我有一个容器div,我使用bookmarklet将其添加到外部网站来执行一些功能,我面临的问题是这个div包含一些元素,每个元素都有其内联样式,但当我放入外部网站时,有时它会覆盖来自网站CSS的样式


有一种方法可以停止此div上的任何重写吗?

主机站点应使用定义其CSS属性!重要提示注意(颜色:红色!重要提示;)


或者可以使用JavaScript(jQuery)将样式附加到DIV中。您可以检查DIV是否已经有样式,这样您就可以决定添加或不添加任何样式。

宿主站点应该使用定义其CSS属性!重要提示注意(颜色:红色!重要提示;)


或者可以使用JavaScript(jQuery)将样式附加到DIV中。您可以检查DIV是否已经有样式,以便决定是否添加任何样式。

您可以在元素中定义css属性,以便能够正确显示DIV,例如

<div style="margin:0;border:1px solid red;">
我所能做的就是为我的div id重置所有这些东西

更新:


是的,我知道他有内联样式,但问题是由全局规则引起的。因此,例如,如果@Amr ElGarhy的div有ULs,它们都将得到5px的左边距(如上面的示例所示)。Amr ElGarhy也必须在内联样式中重置此边距。

您可以在元素中定义css属性,以便能够正确显示您的div,例如

<div style="margin:0;border:1px solid red;">
我所能做的就是为我的div id重置所有这些东西

更新:


是的,我知道他有内联样式,但问题是由全局规则引起的。因此,例如,如果@Amr ElGarhy的div有ULs,它们都将得到5px的左边距(如上面的示例所示)。Amr ElGarhy也必须在内联样式中重置此边距。

如果!重要的已经被托管站点使用(坏),然后你被减少到内联样式(再次坏),但是嘿

如果他们没有,你试图超越的例子就像另一张海报上说的:

ul ( margin-left: 5px; }
然后,您可以简单地使用选择器权重来确保您的样式比他们的样式重,即

#mycontainingDivElement ul { blah:blah }

由于您的样式具有更多的级别(注意css中的某些内容具有不同的权重,即ID与类选择器),因此无论css工作表顺序中的位置如何,都将使用该样式!重要的已经被托管站点使用(坏),然后你被减少到内联样式(再次坏),但是嘿

如果他们没有,你试图超越的例子就像另一张海报上说的:

ul ( margin-left: 5px; }
然后,您可以简单地使用选择器权重来确保您的样式比他们的样式重,即

#mycontainingDivElement ul { blah:blah }

由于您的样式具有更多级别(注意css中的某些内容具有不同的权重,即ID与类选择器),因此无论css工作表顺序中的位置如何,都将使用该样式

,因此,从您的回答中,我可以理解,我应该在标记中内联添加所有可能的样式,以避免覆盖:(虽然这也是我找到的唯一解决方案,但请稍候,可能是其他人提供了极客解决方案。因此,我可以从您的回答中理解,我应该在标记中内联添加所有可能的样式,以避免覆盖?:(虽然这也是我找到的唯一解决方案,但让我们等一等,可能是其他人提供了极客解决方案。