負のマージンは本当にこの場合に行くための唯一の方法である(といくつかのケースの一つであります私はそれが許容される使用と考えています)。
あなたが探検ことができ、他のソリューション(例えば、中央に整列BG画像として設定赤いBGを持って、その後h1
外のコンテンツのためのパディングとdiv
年代を持っている)がありますが、何のボーナスは負を使用しての上にこれを行うには本当にありません実際に長期的にはそれは維持しにくい。すでに示唆されているとおり
、あなたもこれを解決するためにポジショニングを使用することができます(以下の例を参照)。
HTML:
<div class="container">
<p>Lorem ipsum dolor sit amet</p>
<p>Lorem ipsum dolor sit amet</p>
<h1>testing, testing, 1 2 3</h1>
</div>
はCSS:残念ながら
.container {
background: #f00;
margin: 0 0 0 20px;
padding: 100px 0;
position: relative;
width: 400px;
}
h1 {
background: #00f;
color: #fff;
left: -20px;
padding: 0 20px;
position: absolute;
width: 100%;
}
http://jsfiddle.net/d7KJ9/4/
h1
後にコンテンツを追加すると、この方法を破るように見えるけれども:
http://jsfiddle.net/d7KJ9/2/
上記の方法は、作業をした場合はさらに、それは必ずしもネガティブマージンを(それが実際にはより多くのCSSを必要とする)を使用したよりも良くなることはないでしょう。適切に使用する場合
結論として、単に負のマージンのソリューションを行く、負のマージンは(あなたが欲しいものを達成するためのより良い方法があり、それらを使用する前に、自分にだけの理由は、必ずしも悪いことではありませんか?)
でそれを試してみては結構です、唯一の他の方法は、 '位置を使用することです負の「左」の値 –
うん、負のマージンがここに行く方法です。 – andi