2015-07-22 5 views
2

Я хотел бы вертикально выровнять содержимое моего div.Вертикально выровнять содержимое div

Так что в основном «Привет тест» должен быть в центре div, по вертикали.

Demonstration

.parent { 
 
    background:blue; 
 
    float:left; 
 
    width:100% 
 
} 
 

 
.parent div { 
 
    float:left; 
 
    width:50%; 
 
} 
 

 
h1 { 
 
    font-size:50px; 
 
    margin:0; 
 
    padding:0; 
 
}
<div class="parent"> 
 

 
<div> 
 
    <h1>hello!</h1> 
 
    <p>test</p> 
 
</div> 
 

 
<div> 
 
    <img src="http://placehold.it/250x250" /> 
 
</div> 
 

 
</div>

+3

[решение Flexbox] (HTTPS : //jsfiddle.net/z9zw0u9g/1/): '.parent {display: flex; align-items: center; } '. – lmgonzalves

+0

@lmgonzalves Это отлично - добавьте в качестве ответа :) – michaelmcgurk

+1

Сделано! Но учтите, что 'flexbox' не поддерживается в IE9- :( – lmgonzalves

ответ

4

Вы можете использовать макет таблицы для этого:

.parent { 
 
    background:blue; 
 
    width:100%; 
 
    display: table; 
 
} 
 

 
.parent div { 
 
    display:table-cell; 
 
    vertical-align:middle; 
 
    width:50%; 
 
} 
 

 
h1 { 
 
    font-size:50px; 
 
    margin:0; 
 
    padding:0; 
 
}
<div class="parent"> 
 

 
<div> 
 
    <h1>hello!</h1> 
 
    <p>test</p> 
 
</div> 
 

 
<div> 
 
    <img src="http://placehold.it/250x250" /> 
 
</div> 
 

 
</div>

0

Используйте этот CSS

body{ 
    margin:0 auto; 
} 
.parent { 
    background:blue; 
    float:left; 
    width:100% 
} 

.parent div 
{ 
    text-align:center; 
    width:50%; 
    margin:0 auto; 
} 

h1 { 
    font-size:50px; 
    margin:0; 
    padding:0; 
} 
Смежные вопросы