3
.myDiv  
{

background-image: url(urltomyimgheader);

height:100px;

margin: auto;

position:relative;

top:-10px;

width:600px;

}

这是一个简单的 div 标签,用于显示徽标...

我已将顶部设置为 -10px 以使其接触浏览器的顶部,除非徽标和页面之间存在间隙。

但是,我对使用 -10px 定位 div 感到难过 :( 是否有更好且跨浏览器兼容的解决方案?

4

2 回答 2

3

@Tatu Ulmanen 说得对,这是浏览器默认问题。您不必添加负边距,您只需设置 body/html 标签的默认 CSS 属性。

为了安全起见,无论如何您都应该使用 CSS 重置来摆脱浏览器样式默认设置。这是您可以用来解决问题的代码。下面是一个不错的 CSS 重置,您可以从这里开始添加到所有 CSS 样式表的顶部。

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

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,
    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-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; }
    blockquote:before,
    blockquote:after,
    q:before, q:after   { content: ""; }
    blockquote, q       { quotes: "" ""; }
    body                { line-height: 1; color: black; background: white; }
    caption, th, td     { text-align: left; font-weight: normal; }
    :focus              { outline: 0; }
    table               { border-collapse: separate; border-spacing: 0; }
    ol, ul              { list-style: none; }
于 2010-04-21T17:32:44.297 回答
1

是的,10px 的间隙是由浏览器的默认填充为某些元素生成的。

body {
   padding: 0;
}

您可能还想查看 CSS 重置样式表以重置元素的所有浏览器特定设置。这是一个很好的

于 2010-04-21T17:27:00.417 回答