2012-05-12 91 views
9

Mam dwa div wewnątrz div pojemnika. Trzeba opuścić lewy drugi pływak w prawo. Oba muszą być pionowo wyśrodkowane wewnątrz rodzica. Jak mogę to osiągnąć?Jak mogę wyrównać w pionie dwa pływające elementy div?

<div id='parent'> 
    <div id='left-box' class='child'>Some text</div> 
    <div id='right-box' class='child'>Details</div>  
</div> 

Jeśli pływak nie jest stosowany albo one pionowo wyrównać do środka z tym css

.child{ display:inline-block; vertical-align:middle; } 

Jednak dodanie #right-box{ float: right; } powoduje, że dzieci tracą pionowe wyrównanie. Co ja robię źle?

Dzięki chłopaki

+0

Twój kod nie działa pionowo wyrównać do średniej [Online demo na dabblet] (http://dabblet.com/gist/2664227) –

+0

porządku, Dziękuję za sprawdzenie, nie jestem pewna, jak udało mi się to zrobić wcześniej, czy mógłbyś pomóc mi ustawić pionki div w środku, z pozostawionym znakiem float dla '# left-box' i unosić w prawo dla' # right-box'? Jakiego css używałbyś? – JackMahoney

+0

Napisałem odpowiedź –

Odpowiedz

10

here jest demo online roztworze Ci potrzebne

enter image description here

to było robione z tym html:

<div id='parent'> 
    <div id='left-box' class='child'>Some text</div> 
    <div id='right-box' class='child'>Details</div>  
</div> 

i tego css:

#parent { 
    position: relative; 

    /* decoration */ 
    width: 500px; 
    height: 200px; 
    background-color: #ddd; 
} 

.child { 
    position: absolute; 
    top: 50%; 
    height: 70px; 
    /* if text is one-line, line-height equal to height set text to the middle */ 
    line-height: 70px; 
    /* margin-top is negative 1/2 of height */ 
    margin-top: -35px; 

    /* decoration */ 
    width: 200px; 
    text-align: center; 
    background-color: #dfd; 
}​ 

#left-box { left: 0; } 
#right-box { right: 0; } 
+0

Dziękuję za cały wysiłek, który jesteście naprawdę świetni! Uwielbiam być częścią mnie tak entuzjastyczną społecznością. – JackMahoney

2

można spróbować style wyświetlania: table-cell: stół i wyświetlacz.
Sprawdź to miejsce na więcej szczegółów http://www.quirksmode.org/css/display.html


UWAGA: Jeśli chcesz rodzic wysokość div być procent (jak 100%), to będzie w stosunku do wysokości To pojemnik. Jeśli pojemnik jest ciałem, to musisz także ustawić ciało i wysokość html, jak na 100%.

Oto przykład tego, co kod może wyglądać następująco:

<div id='parent'> 
    <div id='left-box'>Some text</div> 
    <div id='right-box'>Details</div>  
</div>​ 

<style> 
body,html{ 
    height:100%; 
} 
#parent{ 
    border:1px solid red; 
    display:table; 
    height:100%; 
    width:100%;   
} 
#left-box{ 
    background-color:#eee; 
    display: table-cell; 
    vertical-align:middle; 
    padding:3px; 
    width:50%; 
} 
#right-box{ 
    background-color:#dddddd; 
    display: table-cell; 
    vertical-align:middle; 
    padding:3px; 
    width:50%; 
} 
​</style> 
Powiązane problemy