У меня есть следующий код:Дополнительное место до элементов списка в Flexbox контейнере
HTML
<ul class="menu">
<li><a href="#">Item 1</a></li>
<li>
<a href="#">Item 2</a>
</li>
<li>
<a href="#">Item 3</a>
</li>
<li><a href="#">Item 4</a></li>
</ul>
CSS
ul.menu
{
display: flex;
list-style: none;
}
ul.menu li::before
{
content: "\2022";
}
Пункты 1 и 4 работают нормально, но там это дополнительное пространство перед пунктами 2 и 3 (сразу после пули). Я знаю, это потому, что для этих элементов есть новая строка в HTML. Однако все работает отлично без правила ul.menu li::before
.
Уверен, что мне не хватает чего-то очевидного. Кто-нибудь есть идея, как избавиться от лишнего пространства и сохранить новые строки в HTML? Возможно, может быть немного опрятного решения, а не только ul.menu li a::before
(этот не очень хорошо, он также позволяет кликам нажать на маркеры).
P.S .: Та же проблема возникает даже без display: flex;
, так что это явно не Flexbox связанных.
Это в основном тот же вопрос: https://css-tricks.com/fighting-the-space-between-inline- block-elements/ – CBroe