【问题标题】:how can I reset all css of all elements in a div without external css file?如何在没有外部 css 文件的情况下重置 div 中所有元素的所有 css?
【发布时间】:2010-11-22 22:05:06
【问题描述】:

我有一个小部件,它将弹出窗口作为绝对定位的 div 注入不同的网站。

我希望弹出窗口看起来都一样。但是,div 中的段落和其他 html 元素受托管站点 CSS 的影响。

有没有一种方法可以有效地重置 div 中元素的所有属性,而无需考虑所有选项和元素类型的 css 文件?

注意:我需要一个干净的 javascript/css/html 解决方案,不能假设 jQUery 可用。

【问题讨论】:

    标签: javascript html css


    【解决方案1】:

    您能做的最好的事情就是为小部件内容使用 iframe。仅使用 CSS 无法重置所有继承的 CSS 样式。

    【讨论】:

      【解决方案2】:

      简短回答:据我所知,没有。

      长答案:由于您不希望当前文档的样式应用于绝对定位的<div> 内的元素,因此最好使用<iframe> 元素而不是<div>

      这样,弹出元素将被隔离在它们自己的文档中,并且独立于当前文档的样式。如果您需要,您的<iframe> 中的文档甚至可能有不同的doctype

      【讨论】:

      【解决方案3】:

      嗯,你可以用 JS 任意设置一些样式属性,但它会是一个很长的列表,它不会漂亮或高效,而 CSS 旨在实现完全相反的效果。您还可以添加一个带有一些特定于 ID 的 CSS 选择器的内联样式块,我猜是 !important 标签,但它又不是很漂亮 - 一方面保证 ID 是硬/不可能的。

      基本上,如果它不是您的页面,那么您对它的控制(正确地)是虚幻的。

      【讨论】:

        猜你喜欢
        • 2015-11-23
        • 1970-01-01
        • 2021-03-24
        • 1970-01-01
        • 1970-01-01
        • 2019-08-27
        • 1970-01-01
        • 2018-12-07
        • 2014-09-17
        相关资源
        最近更新 更多