Mam następujący skrzypce na to pytanie: http://jsfiddle.net/jcb9xm44/css przerwy pozycjonowania względnego dział do nowej linii
Istnieją 2 inline-block div w div nadrzędnej:
<div class="outer">
<div class="inner1">
Y
</div>
<div class="inner2">
X
</div>
</div>
css przypisuje szerokości do div rodzica i 2 szerokości do div dziecka.
.outer {
width: 210px;
border: 1px solid red;
}
.inner1 {
width: 200px;
border: 1px solid orange;
display: inline-block;
}
.inner2 {
width: 50px;
position:relative;
left: -50x;
display: inline-block;
border: 1px solid lightblue;}
Spodziewałem się, że oba elementy div pojawią się w tej samej linii. Chociaż rodzic nie jest wystarczająco szeroki, aby pomieścić oboje dzieci, ponieważ drugie dziecko ma ujemne przesunięcie, powinno być możliwe dopasowanie ich obu na tej samej linii. Dlaczego to łamie linię?
Dodaj "margin-left: -50px;' - http://jsfiddle.net/2jgag2zs/ – Anonymous
Dlaczego się tego spodziewałeś? szerokość zagnieżdżonych elementów div przekracza dostępną przestrzeń wewnątrz obiektu nadrzędnego. –
Świetnie. Ale dlaczego margines pomaga, a offset nie? – shaft