2010-10-19 146 views
2

我正在开发Google Chrome扩展程序。如何摆脱父网页样式

扩展在任何网页里面显示一个对话框(jquery ui,作为div),在对话框中用户可以添加一些内容[HTML body without body,without styles info]。

我面临的问题是,在网页中指定的样式正在被应用到jQuery对话框和内容用户正在添加。

例如,当我启动我的插件在stackoverflow网页上,所有的文本成为中心对齐等等等

什么是最好的方式摆脱div内的父母样式?

回答

0

我已经完成了使用IFRAME,它基本上创建了一个框中的全新的HTML文档,没有“父”页面的样式。另一种选择是重新定义div中的所有样式,但这非常单调乏味。

+0

谢谢,我会试一试:) – Hoshin 2010-10-21 08:22:22

1

你应该看看重置样式表几乎每个CSS框架都附带了。你可以采取复位样式表和所有的重置样式应用到您的特定DIV:

div.YourDiv, div.YourDiv * { 
    margin:0; 
    padding:0; 
    border:0; 
    ... 
} 

应复位两个YourDiv及以下的所有元素。之后,您可以根据需要启动w /造型子元素。

+0

它不会重置父页面上的所有样式吗? – serg 2010-10-19 05:06:29

+0

不,因为上面的样式只会重置特定div YourDiv和所有这个div的后代元素。除非在该页面上有一个具有YourDiv类的div,否则应该全部设置。 – 2010-10-19 05:07:44

+0

我明白了,好主意。 – serg 2010-10-19 05:13:48