2014-02-10 3 views
0

У меня есть div, который находится внутри float: left div и он не хочет вертикально выровнять. Я думал, что могу полностью заполнить floated div внутренним div и установить его для отображения: table-cell, но, похоже, он не хочет, чтобы оба заполняли div и разрешали это отображение?Вертикальный центр div, содержащийся в плавающем div

JSFiddle Here

<div id="tabs-3" aria-labelledby="ui-id-3" class="ui-tabs-panel ui-widget-content ui-corner-bottom" role="tabpanel" aria-expanded="true" aria-hidden="false" style=""> 
    <div id="DivToCenter"> 
     <div id="ButtonContainer"> 
      <ul> 
      <li><div class="TemplateButton"><a href="http://www.google.com">Report an Issue</a></div></li> 
      <li><div class="TemplateButton"><a href="http://www.google.com">Report an Issue</a></div></li>       
      <li><div class="TemplateButton"><a href="http://www.google.com">Report an Issue</a></div></li> 
      <li><div class="TemplateButton"><a href="http://www.google.com">Report an Issue</a></div></li> 
      </ul> 
     </div> 
    </div> 
</div> 

Styling:

#tabs-3 { /* Tab Content Panel (Right Panel)*/ 
    float: left; 
    min-height: 300px; /* How tall is our tab box, minimum?*/ 
    text-align: center; 
    background-color: pink; 
} 

#DivToCenter { 
    width: 100%; 
    height: 100%; 
    background: red; 
    display: table-cell; 
    vertical-align: middle; 
    text-align: center; 
} 

#ButtonContainer { 
    width: 100%; 
    overflow: auto; 
    padding-top: 10px; 
    padding-bottom: 10px; 
    background: green; 
    display: table-cell; 
    vertical-align: middle; 
    text-align: center; 
} 

#ButtonContainer > ul { 
     padding: 0; 
     margin: 0; 
     display: inline-block; 
} 

#ButtonContainer > ul > li { 
display: inline-block; /*Puts the buttons in a line*/ 
} 

.TemplateButton { 
    padding-left: 5px; 
    padding-right: 5px; 
} 

.ui-tabs-panel.ui-widget-content .TemplateButton > a { 
    /* SHAPE */ 
    width: 119px; 
    height: 119px; 
    padding: 15px; 
    margin-left: 3px; 
    margin-right: 3px; 
    border: 1px solid white; 
    border-radius: 15px; 
    -moz-border-radius: 15px; 
    /* ALIGNMENT */ 
    display: table-cell; 
    vertical-align: middle; 
    text-align: center; 
    /* STYLING */ 
    font-weight: bold; 
    font-size: 1.25em; 
    color: white; 
    background-color: #0c428f; 
} 

.ui-tabs-panel.ui-widget-content .TemplateButton > a:hover { 
    background-color: #6795bb; 
} 
+0

acutally я не получаю ваш вопрос? 'display: table: cell', кажется, работает отлично. Попробуйте изменить размер окна вывода, и вы можете видеть, что я говорю? –

ответ

0

Просто добавьте display: table; в #tabs-3

Updated Demo

+0

Хмм, я не вижу перемен, которые я ожидал? Я надеюсь, что «зеленый» будет вертикально центрирован с равным розовым выше и ниже ... – xolsiion

+0

Мой плохой! Просто обновил ссылку на скрипку. Пожалуйста, проверьте еще раз. –

+0

То, что мне нужно, и это имеет смысл. Спасибо. – xolsiion

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