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 に答える