2014-11-12 2 views
-2

У меня есть родительский и дочерний контейнер, где мне нужно выровнять дочерний контейнер с серединой (как по горизонтали, так и по вертикали).Вертикально центрированный дочерний контейнер

HTML:

<section class="travelPlace"> 
    <div> 
    </div> 
</section> 

CSS:

.travelPlace { 
    width: 50%; 
    height: 100%; 
    float: left; 
} 
.travelPlace > div { 
    width: 53.4375%; 
    margin: 0 auto; 
    background: url('../images/globe.png') center no-repeat; 
    height: 344px; 
    background-size: contain; 
} 
+0

сделал и попытался добавить 'вертикальное выравнивание: средний;' 'к .travelPlace'? – UnskilledFreak

+0

@UnskilledFreak: Да, не работает :( – Rajesh

+0

Я рекомендую использовать 'background-color', чтобы увидеть, как div занимает пространство в вашем документе ;-). –

ответ

0
.travelPlace {width: 100px; height: 250px; position:relative;background:black;} 
.travelPlace > div {position: absolute; 
right: 0; 
top: 0; 
bottom: 0; 
margin: auto; 
color: #fff; 
background: red; 
height: 19px; 
text-align: center; 
display: block; 
width: 100%;} 

Надеется, что это был helpful.Rajesh

0

Может быть, вы можете сделать что-то Жек этого кода, я сделал фон желтым и содержимое красное, чтобы было легче видеть.

.travelPlace {width: 50%; height: 800px; background: yellow;} 
 
.travelPlace > .something {width: 53.4375%; background: red; height: 344px; margin-top: -172px;} 
 
.travelPlace > .somepusher{ 
 
    display: inline-block; 
 
    height: 50%; 
 
    width: 100%; 
 
}
<div class="travelPlace"> 
 
    <div class="somepusher"></div> 
 
    <div class="something">   
 
    </div> 
 
</div>

Основном то, что я сделал: Добавить новый DIV, который 50% высота основного Div, затем добавить отрицательную маржу к верхней части внутренней DIV, который 50% высота внутреннего div (172px)

0

Вы можете использовать display:table-cell для вашего родительского элемента и display: inline-block для вашего дочернего элемента. Вот отрывок ...

.travelPlace { 
 
    display: table-cell; 
 
    width: 50%; 
 
    height: 100%; 
 
    vertical-align: middle; 
 
    text-align: center; 
 
    background: black; 
 
    padding: 50px 0px 50px 0px; 
 
} 
 
.place { 
 
    display: inline-block; 
 
    width: 300px; 
 
    height: 300px; 
 
    text-align: left; 
 
    background: #CCC; 
 
}
<section class="travelPlace"> 
 
    <div class="place"> 
 
    </div> 
 
</section>

Смежные вопросы