2014-01-13 9 views
0

Я пытаюсь центрировать выравнивание плавающего div внутри фиксированного div с динамической высотой. есть ли способ сделать это без определения высоты где-нибудь, кроме фиксированного родительского div?Как вертикально выровнять динамическую высоту

вот HTML код:

<div class="main"> 
    <div class="child"> 
     test 
    </div> 
</div> 

здесь является CSS:

.main{ 
    position:fixed; 
    height:100px; 
    top:0px; 
    width:100%; 
    background-color:yellow; 
} 

.child{ 
    display:table-cell; 
    height:100%; 
    vertical-align:middle; 
    width:100px; 
    background-color:lightblue; 
    float:left; 
} 

здесь скрипку с ним: the link to the jsFiddle

Спасибо :)

ответ

1

Попробуйте это код:

http://jsfiddle.net/KS523/4/

.child{ 
    height:100%; 
    vertical-align: center; 
    width:100px; 
    background-color:lightblue; 
    display:inline-block; 


/* Internet Explorer 10 */ 
display:-ms-flexbox; 
-ms-flex-pack:center; 
-ms-flex-align:center; 

/* Firefox */ 
display:-moz-box; 
-moz-box-pack:center; 
-moz-box-align:center; 

/* Safari, Opera, and Chrome */ 
display:-webkit-box; 
-webkit-box-pack:center; 
-webkit-box-align:center; 

/* W3C */ 
display:box; 
box-pack:center; 
box-align:center; 

} 

Новая часть делает элемент по горизонтали и по вертикали с центром его родителя.

+0

Привет @filip, спасибо, но это не то, что я ищу. Мне нужно, чтобы содержимое дочернего элемента было вертикально выровнено к середине + ребенок должен плавать влево и не находиться в центре его родителя. («тест» должен находиться в вертикальном положении) –

+0

Это то, что я ищу http://jsfiddle.net/KS523/3/, но без высоты: 100 пикселей; в дочернем элементе вместо этого я хочу, чтобы он был динамически высотой родителем (высота: 100%) –

+0

@ErabBO Изменен код, надеюсь, что это поможет вам немного больше! –

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