Это потому, что flexbox удаляет пробел по умолчанию между inline
или inline-block
элементами.
Вот код без flexbox, где у нас есть пробел:
.box {
font-size:30px;
}
<div class="box">
<a>click</a>
<a>here</a>
</div>
Мы можем удалить это пробел, удалив его из разметки или используя любой общий способ :
.box {
font-size:30px;
}
<div class="box">
<a>click</a><a>here</a>
</div>
Или сделав div контейнером flexbox:
.box {
display:flex;
font-size:30px;
}
<div class="box">
<a>click</a>
<a>here</a>
</div>
Если мы проверяем спецификацию :
Каждый дочерний поток в гибком контейнере становитсяflex-элемент, и каждая непрерывная последовательность дочерних текстовых прогонов оборачивается в анонимный элемент-контейнер контейнера flex.Однако , если вся последовательность дочерних текстовых текстовых прогонов содержит только пробел (т. Е. Символы, на которые может влиять свойство пробела) , вместо этого он не отображается (точно так же, как если бы его текстовые узлы отображались: нет).
Итак, в нашем коде у нас есть два дочерних элемента и последовательность пробелов, которая не равна сотне.