2010-10-22 53 views
0

我的浏览器扩展程序将一个div项目嵌入到由浏览器打开的网页中。 div包含几个子项,如按钮,跨度,输入框等将Chrome浏览器默认值重置为Chrome浏览器中的单个项目

问题是当div插入页面时,页面的CSS影响div和它的内容。

例如,如果页面有一个css比如:

span { 
text-shadow: 1px 1px 1px blue; 
} 

那么跨度在我在飞行中添加的div有蓝色的文本阴影。我在做什么,以解决这一问题是设置任何可能的指令,可能会影响我的div与内容!重要的是,像

mydiv span { 
    text-shadow: none !important; 
} 

和它的垃圾。

是否有任何理智的方式来覆盖给定项目的CSS,这将回到浏览器(谷歌浏览器)的默认值?

谢谢。

回答

3

有重置的CSS到浏览器默认只对单个项目的任何理智的方法是什么?

不幸的是,没有。在某些情况下,auto值将作为默认值,但并非总是如此,您仍然必须为每个可能的属性指定它。这是真的很吸引人的CSS。不过,想到一个想法。如果你在每一个使用not(.default)

span:not(.default) { 
text-shadow: 1px 1px 1px blue; 
} 

:看为你专门询问关于Chrome,如果你控制所有的CSS类,不介意有些杂乱,你也许可以用CSS3的not像这样的工作CSS规则,你可以有默认的行为元素,如果你给他们default类:

<div class="default"> 

我和CSS 3没有亲身经历,但这应该工作。它不适用于旧版浏览器,因此它还不是真正的主流兼容。

0

你不能“重置”的CSS规则,你必须重写他们(text-shadow:none;

+0

是的,我试图问的是如何覆盖单个项目的页面CSS,使其回到浏览器的默认设置:) – hinoglu 2010-10-22 12:07:43

+0

添加一个类或ID到项目并覆盖CSS规则,使其成为浏览器规则。 – MatTheCat 2010-10-22 12:10:06