私のCSSマージンは、私が望むやり方では動作しません。私はヘッダーマージントップがそれを取り巻くdivタグに影響を与えるように思えます。CSSマージンテロ;マージンは親要素の外側にスペースを追加します
これは私が欲しいものであると期待する:
...しかし、これは私がで終わるものです:
出典:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Margin test</title>
<style type="text/css">
body {
margin:0;
}
#page {
margin:0;
background:#FF9;
}
#page_container {
margin:0 20px;
}
h1 {
margin:50px 0 0 0;
}
</style>
</head>
<body>
<div id="page">
<div id="page_container">
<header id="branding" role="banner">
<hgroup>
<h1 id="site-title"><span><a href="#" title="Title" rel="home">Title</a></span></h1>
<h2 id="site-description">Description</h2>
</hgroup>
</header>
</div>
</div>
私はこの例では余白を誇張していますル。 h1タグのデフォルトのブラウザマージンはいくぶん小さく、私の場合はTwitter BootstrapとNormalizer.cssを使ってデフォルトマージンを10pxに設定しています。それほど重要ではない、主なポイントは、私はできません、は、h1タグの余白を変更するしないでください。
私は他の質問に似ていると思います。 Why does this CSS margin-top style not work?。質問はどのように私はこの特定の問題を解決するのですか?
私は同様の問題でa few threadsを読んだことがありますが、実際の回答と解決策は見つかりませんでした。私はpadding:1px;
またはborder:1px;
を追加することで問題は解決することが分かっています。しかし、それは私のdivタグにパディングや境界線を必要としないので、新たな問題を追加するだけです。
もっと良い、ベストプラクティスのソリューションが必要ですか?これはかなり一般的でなければなりません。
はあなたが始めたのルート要素をCSSリセット? –
私はNormalizer.cssを使用します。しかし、それは問題ではありません。私はh1タグを削除する場合。問題はない。問題は、私のh1タグにマージンが必要で、それが周囲の要素に影響を与えているということです。 – jamietelin
万が一[デモを投稿する](http://jsfiddle.net/)できますか? –