У меня есть ряд элементов span
класса tag
(из bootstrap v4), которые примыкают друг к другу без пробела между ними, потому что они происходят из массива JSX-элементов reacj.js:
<span class="tag tag-primary">text</span><span class="tag tag-primary">text</span><!-- ... -->
Это CSS из бутстрапа:
.tag {
display: inline-block;
padding: 0.25em 0.4em;
font-size: 75%;
font-weight: bold;
line-height: 1;
color: #fff;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
border-radius: 0.25rem;
}
Эти элементы могут переноситься на несколько строк в ячейке таблицы. Я мог бы болезненно добавить пробел между ними с помощью некоторого javascript (https://stackoverflow.com/a/23619085/3446439) или добавьте элемент-обертку (чтобы в JSX был только один корневой элемент) с пробелом. Оба эти варианта меня не удовлетворяют, и я подумал, что это должно быть просто сделать в CSS.
Я попробовал следующее, что было бы идеально, если бы оно работало, но не работает с элементами встроенного блока (https://jsfiddle.net/qjbgzzLr/):
span.tag + span.tag::before {
content: " ";
}
На данный момент я поставил margin-left
на span.tag + span.tag
, но это не идеально, так как первый элемент в каждой строке имеет поле слева от него.
Есть ли способ добиться этого с помощью только CSS?
inline-block
- person beeb   schedule 05.08.2016