::after.nav > ol > li:not(:last-child)::after {
content: " / ";
color: lightgray;
padding: 0 0.5em;
}Селектор
:not(:last-child) гарантирует, что после последнего элемента разделитель не появится.Разметка при этом остается аккуратной и чистой:
<nav>
<ol>
<li><a href="/">Home</a></li>
<li><a href="/products">Products</a></li>
</ol>
</nav>
Нужны другие разделители? Просто меняете
content:/* Шеврон */
li:not(:last-child)::after {
content: " › ";
}
/* Стрелка */
li:not(:last-child)::after {
content: " → ";
}
/* Вертикальная черта */
li:not(:last-child)::after {
content: " | ";
}
Для иконок вместо текста можно использовать фоновое изображение:
li:not(:last-child)::after {
content: "";
width: 1em;
height: 1em;
background: url("data:image/svg+xml,...") center / contain no-repeat;
}Этот подход универсальный и подходит для любых горизонтальных списков с разделителями: хлебные крошки, списки тегов, инлайн-метаданные.
@WebDev_Plus
