Не могу вертикально выровнять текст! - PullRequest
0 голосов
/ 02 мая 2011

Я знаю, что это чрезвычайно просто, но я кодировал весь день, и, похоже, это не работает.

Я хочу, чтобы текст располагался вертикально по центру внутри поля. Что я делаю?

http://jsfiddle.net/UAyNh/

UPDATE: Это работало для текста, но кнопки не центрировались. Проверьте это на Safari против Chrome. http://jsfiddle.net/Bz9pB/

Ответы [ 3 ]

2 голосов
/ 02 мая 2011

Я даю контейнер line-height , равный его высоте.

например.

div.box
{
     line-height: 40px;
     height: 40px;
}

Единственный другой способ, который я знаю, это использовать таблицуили скопируйте таблицу с помощью CSS:

<div class="table">
    <div class="row">
        <div class="cell">
            text
        </div>
    </div>
</div>

И

div.table{ display: table; }
div.row{ display: table-row; }

div.cell
{
    display: table-cell;
    vertical-align: middle;
}
1 голос
/ 02 мая 2011

Используйте line-height и сделайте его равным height элемента (так или иначе, если ваш элемент имеет только одну строку):

height: 25px;
line-height: 25px;

Демонстрация JS Fiddle .

0 голосов
/ 02 мая 2011

Если текст будет в одной строке, а высота этой строки будет такой же, как в вашем примере, вы можете решить ее, установив высоту строки:

height: 25px;
line-height: 25px;
...