2013-05-02 3 views
0

Мой мозг жарится, поэтому мне нужны вы, ребята, помогите.Простая проблема с вертикальным выравниванием с div

Я пытаюсь выполнить вертикальное выравнивание в div.

У меня есть

HTML

<a href='#'> 
    <div class="div"> 
    <div class="insideDiv">text here</div> 
    </div> 
</a> 

Мой CSS

a { 
    color: #006699; 
    text-decoration: none; 
    font-size: 10pt; 
    border-width: 0; 
    position: relative 
} 

.div{ 
    position: absolute; 
    background-color: red; 
    top: -75px; 
    left: 50px; 
    width: 100px; 
    height: 50px; 
    z-index: 1000; 
    padding: 8px; 
} 

.insideDiv{ 
    background-color: white; 
    width: 100px; 
    height: 47px; 
    border: solid 1px grey; 
    font-weight: bold; 
    vertical-align: middle; 
    text-align: center; 
} 

Похоже, text here не может быть вертикального выравнивания к середине, но горизонтально выровнять по центру. Может ли кто-нибудь помочь мне решить эту проблему? Спасибо!

+0

Возможный дубликат [Вертикально выровнять текст в Div] (http://stackoverflow.com/questions/2939914/vertically-align-text-in-a-div) – lifetimes

+0

Я думаю, имея 'div' в 'a' дать вам ошибку в w3c – jhunlio

ответ

2

Свойство vertical-align не относится к блочным элементам, только элементы в контексте строкового форматирования и ячеек таблицы

Вы можете добавить display: table-cell; к вашему .insideDiv класса вертикально центрировать его текст:

Пример: http://jsfiddle.net/Adrift/qTkAN/1/

+1

точно wh мне нужно. Спасибо огромное! – Rouge

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