0

我将我的 Angular-6 项目用于ng-bootstrap并且我使用了 ngbootstrap-pills,我尝试将活动药丸添加到带有删除按钮选项的下拉图标中,但它不起作用,任何人都知道如何正确地做到这一点。

这里有堆栈闪电战代码

这是我的 .css 代码

.nav-pills .nav-link.active, .nav-pills.show> .nav-link {
    color: #fff;
    background-color: #262262;
}

a:after {
  content: url('https://image.flaticon.com/icons/svg/60/60995.svg');
  height: 0;
  width: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #fff;
  position: absolute;
  bottom: -1px;
  left: 50%;
  margin: 0 0 0 -3px;
  z-index: 100;
}

我试着像这张图片一样

我试着像这张图片一样

谢谢。

4

4 回答 4

4

此解决方案不需要 .svg 即可工作。

在此处输入图像描述

::ng-deep .nav-pills .nav-link.active, .nav-pills.show> .nav-link {
  color: #fff;
  background-color: #262262;
  position: relative;
}

::ng-deep .nav-pills .nav-link.active:after {
  content: '';
  position: absolute;
  height: 0;
  width: 0;

  border-bottom: 6px solid #fff;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;

  display: block;
  left: 35%;
  bottom: 0;
}

https://stackblitz.com/edit/angular-aticm5-5nnhz3

于 2019-10-22T08:25:01.677 回答
1

尝试使用::ng-deep选择器来应用样式。否则样式将不会应用于库。

在您的情况下,它将是:

::ng-deep .nav-pills .nav-link.active, .nav-pills.show> .nav-link {
    color: #fff;
    background-color: #262262;
}

::ng-deep a:after {
  content: url('https://image.flaticon.com/icons/svg/60/60995.svg');
  height: 0;
  width: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #fff;
  position: absolute;
  bottom: -1px;
  left: 50%;
  margin: 0 0 0 -3px;
  z-index: 100;
}

您还可以阅读有关Angular View 封装的信息。

于 2019-10-18T08:17:47.850 回答
1

嗨,我对您的代码进行了一些小的更改,请查看此 StackBlitz 链接

在此处输入图像描述

https://stackblitz.com/edit/angular-aticm5-2ghoez

希望对你有帮助

于 2019-10-21T07:31:41.513 回答
0

我找到了一些解决方案

堆栈闪电战

::ng-deep .nav-pills .nav-link.active:after {
  content: '';
  display: block;
  position: absolute;
  left: 6px;
  top: 100%;
  width: 0;
  height: 0;
  border-top: 7px solid #262262;
  border-right: 13px solid transparent;
  border-bottom: 0 solid transparent;
  border-left: 15px solid transparent;
}



::ng-deep .nav-pills .nav-link.active, .nav-pills.show> .nav-link  {
  display: inline-block;
  position: relative;
  background: #262262;
  padding: 8px 0;

}
于 2019-10-21T05:03:00.230 回答