如何删除上一个兄弟姐妹的边框?

时间:2018-11-19 14:39:38

标签: css sass

我正在使用一种技巧在导航项之间添加边框

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 :(得分:0)

您可以在$(b).data('_ts') - $(a).data('_ts')的顶部定义分隔线,并使用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;
}