2010-07-26 105 views
2

在我完成使用css而不是像我最习惯和舒适的表格那样的第一个项目时,遇到了一个奇怪的问题。显然有一些元素有内置的边距。换句话说,如果你设置了“margin-top:0px”,那么元素的渲染方式与你不相同。直到我在IE7中测试这个站点时,我才注意到这个问题,这显然不尊重这个功能。带有“内置”边距的HTML元素

到目前为止,我已经注意到h *元素和ul元素有这个。有没有人知道我在哪里可以找到网上的其他元素有这个?我试着用很少的运气在W3C周围搜索。我确定它在那里,因为所有的现代浏览器正确地实现了这一点。我只是不知道在哪里可以找到这些信息。

回答

1

浏览器之间可能存在细微的差异,但是从CSS 2.1规范来看,这个差距必须非常接近。

http://www.w3.org/TR/CSS21/sample.html

+0

谢谢。其他答案也非常有帮助,但这尤其是我所期待的。 – John 2010-07-27 01:03:20

+0

注意处理电子邮件客户端中的'div'和'p'aragraphs ...这些差异很大。 – 2010-07-27 01:11:43

+0

'form'在某些浏览器中也有不一致的处理,而'body'在老版本的Opera中用'padding'代替'margin'。 – bobince 2010-07-27 01:23:41

7

http://meyerweb.com/eric/tools/css/reset/

这是一个相当著名的CSS重置在那里。

的它的主要部分:

html, body, div, span, applet, object, iframe, 
h1, h2, h3, h4, h5, h6, p, blockquote, pre, 
a, abbr, acronym, address, big, cite, code, 
del, dfn, em, font, img, ins, kbd, q, s, samp, 
small, strike, strong, sub, sup, tt, var, 
b, u, i, center, 
dl, dt, dd, ol, ul, li, 
fieldset, form, label, legend, 
table, caption, tbody, tfoot, thead, tr, th, td { 
    margin: 0; 
    padding: 0; 
    border: 0; 
    outline: 0; 
    font-size: 100%; 
    vertical-align: baseline; 
    background: transparent; 
} 
+0

这几乎是每一个共同的元素,不在少数像表单字段会看傻了无边框/填充。大多数人在任何浏览器中都没有默认的页边距。 – bobince 2010-07-27 01:18:58

+0

@bobince - 信任,但验证:) – KakambaWeb 2010-07-27 11:08:59