如何为每个浏览器渲染相同的边距?

时间:2012-06-12 14:04:59

标签: html css cross-browser css-reset

我有一个HTML5画布图像,其中我绘制了一些点,我想在点旁边对齐一些div标签和文本输入标签。

不幸的是,浏览器不同意每个div和输入标签之间的空间。

通过使用CSS指定高度,我发现了输入标记的黑客攻击。现在输入标签在每个浏览器之间具有相同的空间。根据浏览器的不同,输入标签的默认高度似乎不一样,非常非常奇怪。

我为div标签尝试了同样的事情,但我无法为每个浏览器找到正确的对齐方式。

文本输入标签对齐使用CSS hack的每个浏览器: http://jsfiddle.net/baptx/XcKZj/

div标签对齐方式不同,具体取决于浏览器(为Firefox配置): http://jsfiddle.net/baptx/92gPY/

我在Linux上使用Firefox,我注意到Windows版本没有渲染相同的边距。 在Linux或Windows上运行时,Chrome也不同意Linux Firefox。 Opera很棒,它总是与在Linux或Windows上运行的Linux Firefox一致。

我首先想到,这是由于网页浏览器引擎,Gecko渲染与Webkit相比有所不同,但如果Windows和Linux版本的Firefox不同意,那应该是别的。

有没有人知道它来自哪里以及如何使用div标签解决这个问题?

2 个答案:

答案 0 :(得分:5)

为什么:因为规定的样式表没有像边距那样规定间距。

解决方案:使用CSS重置样式表,并在站点范围的样式表中明确声明自己的默认值。

这是一个包含一些重置的网站:http://www.cssreset.com/

答案 1 :(得分:3)

听起来你需要在你的风格中包含一个重置css。这有助于统一(但不能完全消除)浏览器之间的差异。

以下是两个流行的重置:

Eric Meyer's reset

YUI Reset