如何规范化浏览器的填充和边距

时间:2010-08-07 23:33:24

标签: css cross-browser css-reset

其他设计师如何规范浏览器的填充和边距。我已经尝试过CSS Resets(目前正在使用YUI),但我仍然遇到很多不一致。

对于某些元素,对某些浏览器来说,将填充或边距设置为0px会触发浏览器使用该浏览器确定的默认填充和边距。有没有办法在所有浏览器上硬重置填充或边距,以便有一致的外观?


更新

从其他研究和反馈看来,几乎不可能让网站在不同的浏览器中看起来相同。我想我会坚持使用CSS重置,只是尝试更好地规划我的网站。

我不确定如何克服覆盖样式设置的默认浏览器机制,这样做可能需要付出太多努力。

3 个答案:

答案 0 :(得分:1)

这通常通过CSS重置来解决,但并非所有这些都是完整的。在某些浏览器中,整体必须将其边框设置为0(即Opera,有时是IE)才能真正相同。请尝试以下方法:

body,html{margin:0;border:0;padding:0;}

既然你没有说出哪个元素或给出了一个链接,我就不能真正走得太远了。您遇到哪些问题?

答案 1 :(得分:1)

不值得额外的CSS交互和额外的代码来添加一整套“规范化”填充或边距元素。

通过明确说明您在网页上使用的元素的填充和边距,最适合您所需的样式。

答案 2 :(得分:1)

填充物通常在任何地方都是0。它是浏览器中最不平衡的边距。只需在HTML block元素上定义自己的边距即可。 CSS重置就像一把大锤。您需要重新定义的不仅仅是边距。但它对初学者可能有所帮助,因为他们通常无法乍看之下区分HTML中的默认内联和块元素。 CSS重置强制他们重新定义一个和另一个“正确的方式”。

相关问题:


也就是说,如果您一直看到浏览器之间存在不一致,那么您可能会使用强制浏览器进入quirksmode的doctype。在MSIE中,box model bug将会活跃起来。您想使用严格 doctype:<!DOCTYPE html>

另见: