HTML Position DIV标记为绝对TOP

时间:2010-04-21 17:23:08

标签: css html position absolute

.myDiv  
{

background-image: url(urltomyimgheader);

height:100px;

margin: auto;

position:relative;

top:-10px;

width:600px;

}

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

我已经制作了顶级的-10px,使其触及浏览器的顶部,除非徽标和页面之间存在间隙。

但是我觉得使用-10px来定位div是不对的:(是否有更好的跨浏览器兼容解决方案?

2 个答案:

答案 0 :(得分: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; }

答案 1 :(得分:1)

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

body {
   padding: 0;
}

您可能还需要查看CSS重置样式表以重置元素的所有浏览器特定设置。 Here's a good one