Назад

July 10, 2025

🧼 Як прибрати бордер в останньому елементі

Коли створюємо список навігації, часто додаємо нижній бордер кожному пункту, щоб розділити елементи:

li {
  border-bottom: 1px solid #e2e2e2;
}

Але останньому елементу бордер не потрібен, тож зазвичай додаємо:

li:last-child {
  border-bottom: none;
}

Альтернатива: коротше та чистіше

Замість двох правил можна обійтись одним — через :not(:last-child):

li:not(:last-child) {
  border-bottom: 1px solid #e2e2e2;
}

Це:

  • легше підтримувати;
  • виключає ризик дублювання стилів;
  • краще масштабується в компонентах або UI-бібліотеках.

➕ Ще один варіант — через сусідній селектор:

li + li {
  border-top: 1px solid #e2e2e2;
}

Він працює трохи інакше:

  • бордер додається зверху кожному елементу, крім першого;
  • підходить, коли ти хочеш уникнути “злипання” зверху, а не знизу.

Коротко:

  • :not(:last-child) — зручніший спосіб прибрати бордер у кінці списку.
  • + селектор — альтернатива для бордерів зверху.
  • Менше коду - менше багів.