Можно сформулировать полный ответ:
Поскольку элементы построены, а элементы с абсолютным позиционированием выбраны из потока документа, предстоящие <li>
s и встроенные <a>
эффективно накладывается поверх предыдущего содержимого .nav-link:before
; следовательно, скрывая это. Z-индекс (из третьего измерения) решает эту проблему, перенося его на более высокий уровень.
Другая проблема связана с тем, что последний элемент дочерних элементов не равен .nav-link
, но равен .nav-item
. Таким образом, правильным решением было бы .nav-item:last-child>.nav-link:before{display:none}
.
Последнее замечание относительно решения «без труб»; хотя это на самом деле предпочтительнее по сравнению со связыванием, объединением в цепочку и вложением в css для повышения производительности, не имеет смысла объявлять позицию, содержимое, верхнюю, правую, ширину и высоту фона для элемента, который вы не хотите отображать. Только display:none
было бы достаточно.