web-dev-qa-db-fra.com

Comment aligner un div sur le côté droit du parent tout en conservant sa position verticale?

Veuillez vous référer à ce schéma pratique que j'ai dessiné:

enter image description here

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)

24
sbichenko
.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/

23

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/

4
Filipa Lacerda

Une simple grille div ferait l'affaire:

http://jsfiddle.net/NUGPv/

<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.

1
Lowkase