Подтвердить что ты не робот

Выравнивание текста по вертикали

У меня здесь сложная проблема. Я хотел бы вертикально выровнять текст внутри кнопки

<button id="rock" onClick="choose(1)">Rock</button>

И вот мой CSS

button {
    font-size: 22px;
    border: 2px solid #87231C;
    border-radius: 100px;
    width: 100px;
    height: 100px;
    color: #FF5A51;
    text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
}
button:active {
    font-size: 22px;
    border: 2px solid red;
    border-radius: 100px;
    width: 100px;
    height: 100px;
}

Здесь вы можете проверить http://jsfiddle.net/kA8pp/. Я хочу, чтобы текст был внизу. Большое спасибо!

РЕДАКТИРОВАТЬ: Я не могу это объяснить, поэтому вот его картина http://i.imgur.com/WGKltUa.png:)

4b9b3361

Ответ 1

Попробуйте padding-top:65px; в классе кнопок

button {
    font-size: 22px;
    border: 2px solid #87231C;
    border-radius: 100px;
    width: 100px;
    height: 100px;
    color: #FF5A51;
    text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
    padding-top:65px;
}

JS Fiddle Demo

Ответ 2

Вы можете использовать line-height для достижения своей цели.

button {
    font-size: 22px;
    border: 2px solid #87231C;
    border-radius: 100px;
    width: 100px;
    height: 100px;
    color: #FF5A51;
    text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
    line-height: 150px;
    overflow: visible;
}

http://jsfiddle.net/kA8pp/2/

Ответ 3

Вы можете использовать flexbox (проверьте поддержка браузера, в зависимости от ваших потребностей).

button {
  display: inline-flex;
  align-items: flex-end; 
}

Ответ 4

Стиль кнопок по-разному: изменение стиля

Элемент <button> ведет себя немного иначе, чем некоторые другие элементы, например <div>. Если вы установили display: table-cell кнопкой, это не повлияет на макет, поэтому vertical-align позволит вам управлять текстовой позицией.

С другой стороны, можно было бы сделать следующее:

<div class="button" id="rock" onClick="choose(1)">Rock</div>

и используйте следующий CSS:

.button {
    font-size: 22px;
    border: 2px solid #87231C;
    border-radius: 100px;
    width: 100px;
    height: 90px;
    color: #FF5A51;
    text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
    display: table-cell;
    vertical-align: bottom;
    text-align: center;
    padding-bottom: 10px;
}

В этом случае у вас есть некоторый контроль, регулируя отступы и высоту.

Если вы привязываете действие JavaScript к элементу, на самом деле не имеет значения, что такое тег, div или кнопка.

Этот подход может иметь некоторые преимущества в конкретных ситуациях.

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

http://jsfiddle.net/audetwebdesign/QSap8/

Ответ 5

Это должно сработать для вас!

<pre>
.button{
    font-family: Arial, Helvetica, sans-serif;
    font-weight: normal;
    color: #444;
    width: 32px;
    padding: 2px;
    margin-left: 5px;
    background-color: #fdfdfd;
    border: 1px solid #cdcdcd;
    cursor: pointer;
}
</pre>