2

私はかなり初心者のWeb開発者であり、非常に根本的な問題を抱えています。

divを含む特定の要素内にどの幅を設定しても、safariとChromeはどちらも、divの幅を満たす余分なマージンを追加します。マージンが0になるように指定すると、cssがオーバーライドされます。たとえば、私は次のようにしています

<div class="container">
    <div class="element1">
    ...
    </div>
</div>

そして私はこれをcssとして設定しました:

.container{
    background-color:#ffffff;
    margin-left:7.5%;
    margin-right:7.5%;
    padding:30px;
    color:#505050;
    line-height:1.5;
    font-size:14px;
}

.element1{
    max-width:50%;
    margin: 0px 0px 0px 0px;
}

element1の幅は包含要素の50%ですが、右側に余分なマージンがあり、包含要素の残りの幅を埋めています。これが発生するのはなぜですか。また、この右マージンを0に設定するにはどうすればよいですか。

ありがとう!

4

2 に答える 2

1

すべてのブラウザを正規化するには、スタイルシートの前にリセットスタイルシートを追加してみてください。ブラウザには、さまざまな要素のデフォルトのパディングやマージンなどについて独自のアイデアがあります。スタイルシートをリセットすると、すべてのブラウザが同じ位置から起動するようになります。

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

于 2010-12-23T11:21:10.327 に答える
1

ブロックレベルの要素の概念を理解していないように思われます。

「デフォルトでは、ブロックレベルの要素はインライン要素とは異なる形式になっています。通常、ブロックレベルの要素は新しい行から始まりますが、インライン要素はそうではありません。空白、改行、ブロックの書式については、テキストのセクションを参照してください。 。」

http://www.w3.org/TR/html4/struct/global.html#h-7.5.3

于 2010-12-23T11:21:28.567 に答える