negatif marj gerçekten bu durumda gitmek için tek yoldur (ve bazı durumlarda biridir kabul edilebilir kullanım olduğunu düşündüğüm yerde).
keşfetmek olabilir diğer çözümler (örneğin kırmızı bg sonra h1
dışında içerik dolgu ile div
's var, merkezi hizalanmış bg görüntüsü olarak ayarladık) vardır ama hiçbir ikramiye olumsuz kullanılmasına göre bunu gerçekten var marj, aslında uzun vadede daha az sürdürülebilir. Önceden önerildiği gibi, bunu çözmek için konumlandırmayı da kullanabilirsiniz (aşağıdaki örneğe bakın).
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%;
}
h1
sonra içerik ekleyerek bu yöntemi kırmaya görünüyor maalesef gerçi
http://jsfiddle.net/d7KJ9/4/
:
http://jsfiddle.net/d7KJ9/2/
Ayrıca, yukarıdaki yöntem işe yaraydıysa, negatif marj kullanmaktan daha iyi olamaz (aslında daha fazla CSS içerir).
Sonuç olarak, sadece negatif marj çözümüne git, negatif marjlar uygun bir şekilde kullanıldığında mutlaka kötü bir şey değildir, bunları kullanmadan önce sadece bir neden (istediğiniz şeyi başarmak için daha iyi bir yol var mı?))
birinde deneyebilirsiniz, ancak başka bir yol 'pozisyonunu kullanmak olacaktır: ile absolute' –
negatif bir sol “sol” değeri, negatif marj burada gitmenin yoludur. – andi