2010-09-05 3 views
3

Я пытаюсь центрирования одного символа, например:Центр одного символа текста по вертикали?

<div class='button'>x</div> 
<div class='button'>+</div> 
<div class='button'>*</div> 

.button { 
    border: solid 2px #aaa; 
    -moz-border-radius:2px; 
    -webkit-border-radius:2px; 
    color: #888; 
    width: 16px; 
    height: 16px; 
    font-weight: bold; 
    text-align:center; 
    float: left; 
    margin-right:5px; 
    font:14px Helvetica Neue,Helvetica,Arial,sans-serif; 
    line-height: 100%; 
} 

это центры характер в каждом Div по горизонтали, но не по вертикали - то, что нам нужно сделать, чтобы отцентрировать его по вертикали, а?

Благодаря

ответ

1

Поскольку это один символ:

line-height: 100%; 

и если установка line-height на 100% не работает установить его на фиксированной высоте контейнера:

.button { 
    height:300px; 
    width: 300px; 
    text-align: center; 
    line-height: 300px; 
    border: 1px dotted #999; 
} 

Проверьте здесь: http://jsfiddle.net/7afUH/1/

+0

А как работает, кнопка с астерическим не будет работать, потому что я думаю, что он имеет другое размещение строк, чем + и x. Я обновил css выше. Благодарю. – user246114

+0

Я отредактировал ответ, проверьте сейчас. – aularon

+0

Это потому, что символ '*' уже выглядит так, он находится в верхней части пространства символов, если вам нужно, чтобы он находился в центре, вам нужно сделать некоторое дополнение для этого конкретного символа или искать какой-то похожий символ юникода это выглядит так, но оно больше и заполняет пространство вместо того, чтобы быть наверху. – aularon

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