Как убрать границу из предыдущего брата? - PullRequest
0 голосов
/ 19 ноября 2018

Я использую трюк для добавления границы между элементами навигации

li {
  &:not(.active) {
    &::before {
    border-bottom: grey;
    bottom: 0;
    content: '';
    height: 1px;
    left: 20px;
    position: absolute;
    width: 220px;

    :host-context(.minified) {
      display: none;
    }
  }

Работает нормально.Вы можете увидеть желтую отмеченную линию.Если навигация активна, я не добавляю эту границу.

Если активна навигационная ссылка, я хотел бы удалить границу из предыдущего брата.Вы можете видеть красную стрелку.

enter image description here

Кто-нибудь думает, как я могу это сделать?

1 Ответ

0 голосов
/ 21 ноября 2018

Вы можете определить разделитель вверху li и удалить первый разделитель с помощью li:first-child:after

Теперь при наведении курсора вы можете получить доступ к следующему li с помощью + и установить прозрачный фон.

Вот пример:

html, body{
  padding: 0px;
  margin: 0px;
}

ul {
  border-right: 2px solid #e5e5e5;
  width: 180px;
  box-shadow: 5px 2px 10px #e5e5e5;
  margin: 0px;
  padding: 0px;
}

li {
  list-style-type: none;
  height: 40px;
  display: flex;
  align-items: center;
  margin: 0px;
  padding-left: 15px;
  position: relative;
}

li:after{
  position: absolute;
  background-color: #e5e5e5;
  top: 1px;
  height: 1px;
  width: 130px;
  left: 20px;
  z-index: 1;
  content: "";
}

li:first-child:after{
  height: 0px;
}


li:hover {
  color: #13A83E;
  background-color: #e5e5e5;
}

li:hover + li:after {
  background-color: transparent;
}
<ul>
  <li>Dashboard</li>
  <li>Assets</li>
  <li>Devices</li>
  <li>More</li>
  <li>Options</li>
</ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...