Veuillez vous référer à ce schéma pratique que j'ai dessiné:
La hauteur de div1
Est inconnue. La largeur de div3
Est fluide; il ne doit jamais chevaucher div2
. div1
Et div2
Ont tous deux la même largeur et sont centrés horizontalement via margin: auto
. Comment puis-je positionner div3
Pour qu'il s'aligne sur le côté droit de body
(quelle que soit la largeur body
is) tout en partageant la position verticale avec div2
? (Utilisation de CSS)
.div1{
margin:0 auto;
width:100px;
height:50px;
border:5px solid #995555;
}
.div2{
width:100px;
margin:0 auto;
border:5px solid #aaaa55;
height:200px;
}
.div3{
float:right;
width:50px;
height:100px;
border:5px solid cyan;
}
<div class="div1">div1</div>
<div class="div3">div3</div>
<div class="div2">div2</div>
Démo également sur http://jsfiddle.net/XjC9z/1/
Comme ça?
HTML:
<div id='container'>
<div id='first'>1</div>
<div id='second'>2</div>
<div id='third'>3</div>
</div>
CSS:
#container{
width: 100px;
margin:0 auto;
}
#first{
border: 1px solid #ff55ff;
}
#second{
border: 1px solid #55ff77;
}
#third{
border: 1px solid #448855;
}
#first,
#second{
width: 50px;
clear:both;
float:left;
}
#third{
clear:none;
float: left;
}
La
Voir ce violon: http://jsfiddle.net/zaNvR/1/
Une simple grille div ferait l'affaire:
<div class="con">
<div class="lft">div 1</div>
<div class="rgt"></div>
</div>
<div>
<div class="lft">div 2</div>
<div class="rgt">div 3</div>
</div>
.con { overflow:hidden; }
.lft { width:100px; height:100px; float:left; }
.rgt { width:100px; height:100px; float:left; }
Laissez simplement la cellule supérieure droite vide.