Как расположить тег <i> по вертикали в теге <button>?

0

У меня есть тег кнопки вроде этого:

<button id="submit" style="height: 30px;">
   <i id="loginLoadIcon" class="spinnerIcon"></i>
   <span>Log in</span>
</button>

Что использует css вот так:

.spinnerIcon {
    width: 25px;
    height: 25px;
    background: transparent url('images/spinnerIcon.png') repeat-x 0 0;
}

Как центрировать я тег по вертикали в теге кнопки? Кнопка может быть изменена, и изображение должно оставаться вертикально по центру.

  • 0
    ... почему вы используете тег i для этого значка?
  • 2
    @JonathanNewmuis...... Кажется, эта статья SO stackoverflow.com/questions/11135261/i-tag-for-icons, кажется, заявляет, что тег i является приемлемым для иконок, хотя это обычно считается плохой практикой.
Показать ещё 1 комментарий
Теги:

3 ответа

2
Лучший ответ

Как насчет:

#submit{
  position: relative;
}

#submit::before{
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 25px;
  height: 100%;
  background: transparent url('images/spinnerIcon.png') no-repeat left center;
}

?

И больше не нужно <i>. Возможно, вы потеряете и <span>, но я не знаю, как выглядит остальная часть вашего CSS :)

  • 0
    Я сохранил использование тега <i> с селектором как .spinnerIcon и определил display: block к нему с вашим кодом. Благодарю.
0
button#submit {
  height: 30px;
  line-height: 30px;
}

.spinnerIcon {
    width: 25px;
    height: 25px;
    background: transparent url('images/spinnerIcon.png') repeat-x 0 0;
}

это должно сделать это.

0

CSS vertical-align: средний будет центрировать его для вас.

<i style="vertical-align:middle" id="loginLoadIcon" class="spinnerIcon"></i>

Вы также можете сделать это так:

HTML

<button id="submit" style="height: 30px;">
   Log in
</button>

CSS

button{
    font-weight:italic;
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню