我们目前不得不编写一些将嵌入各种页面的小部件。据我所知,我有两个可能的选项来保护这些小部件免于松散的CSS规则(例如,一般的p { background-color: red }
)。这些是:
使用重置样式表确保窗口小部件元素的所有CSS属性都设置为已知默认值。使用像Less这样的CSS预处理器,这很简单:
html body #myWidgetID {
.resetCSSMixin();
}
将元素嵌入iframe
非常类似于HTML5 Rocks的建议。
选项1对我来说是一个已知的实体。它并不漂亮,但它会起作用。选项2我不太确定。会有大量的iframe减慢页面速度吗?我们现在很多旧网站都会访问我们的网站。网速很慢。我们还需要支持旧的IE 8 - 是否存在浏览器兼容性问题?我们当然无法使用较新的iframe属性。
任何人都可以提出任何理由我不应该选择2吗?这听起来更好,但是在打电话之前我还需要更多的指导。
答案 0 :(得分:1)
iframes
是一个非常古老的功能,因此IE8支持不是问题。主要区别在于iframe将单独的文档加载到框架中。这将产生一些影响:
答案 1 :(得分:0)
如果您关心CSS属性,则可以使用样式表或样式DOM属性中更具体的规则为该属性设置样式。无论哪种方式,它都会覆盖松散的选择器。
如果您不关心CSS属性,重置它是没有意义的,您应该允许它以主题为主。