私の CSS マージンは、私が望むように、または期待どおりに動作しません。私のヘッダー margin-top は、それを囲む div タグに影響を与えるようです。
これは私が望んでいて期待しているものです:
...しかし、これは私が最終的にするものです:
ソース:
<!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-tag のデフォルトのブラウザー マージンはやや小さく、私の場合はTwitter Bootstrapを使用し、デフォルトのマージンを 10px に設定する Normalizer.css を使用しています。それほど重要ではありませんが、要点は次のとおりです。h1タグのマージンを変更することはできません。
他の質問と似ていると思います。この CSS margin-top スタイルが機能しないのはなぜですか? . 質問は、この特定の問題をどのように解決するのですか?
同様の問題に関するいくつかのスレッドを読みましたが、実際の回答と解決策は見つかりませんでした。padding:1px;
問題を追加またはborder:1px;
解決することを知っています。しかし、div タグにパディングや境界線を付けたくないので、それは新しい問題を追加するだけです。
より良い、ベスト プラクティス、ソリューションが必要ですか? これはかなり一般的なはずです。