Центрировать элемент внутри кнопки на обеих осях, используя Flexbox

Я пытаюсь использовать Flexbox для центрирования элемента по обеим осям внутри элемента кнопки. Код прекрасно работает в Chrome, но не может центрировать элемент в Firefox и Safari. Когда я преобразую кнопку в элемент div, элемент будет располагаться по центру, как и ожидалось, однако по причинам доступности это для меня нереально.

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

Ожидаемый результат:

Ожидаемый результат

Фактический результат:

Фактический результат

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 64px;
  height: 64px;
  padding: 0;
  border: 0;
  background-color: blue;
}

.square {
  width: 32px;
  height: 32px;
  background-color: red;
}
<button type="button">
  <div class="square"></div>
</button>

0 ответов

Другие вопросы по тегам