Проблема с пониманием проблемы выравнивания при использовании display inline-flex

В моем фрагменте ниже у меня есть две кнопки рядом друг с другом, и я ожидаю, что они будут выровнены с моим текущим CSS. Оба они являются встроенными гибкими элементами, что означает, что они должны отображаться встроенными (что они и делают), а также работать как гибкий блок.

Однако по какой-то необъяснимой причине они не выровнены должным образом. Они имеют одинаковую высоту, изменение отступов не помогает, и, насколько я могу судить, нет других свойств, которые могли бы изменить расположение элементов, но по какой-то причине один из них сдвигается вверх, а другой вниз.

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

button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.5rem;
}
svg {
 height: 1rem;
}
<div>
  <button>
    <span>Some Text</span>
  </button>
  <button>
    <svg viewBox = "0 0 320 512"><path d = "M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z"/></svg>
  </button>
</div>

вертикальное выравнивание: верх более правильный, чем средний

Temani Afif 30.08.2024 23:52

@TemaniAfif Почему?

Oscar R 31.08.2024 00:17
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
2
53
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Содержимое внутри ваших кнопок разное (текст и SVG), а с помощью inline-flex элементы выравниваются в зависимости от их содержимого. Добавление vertical-align: middle; к вашей кнопке должно исправить проблемы с выравниванием, с которыми вы столкнулись.

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