我通过创建一个.navbar-rgba-colors
类并将其添加到.navbar
元素中解决了这个问题。下面的 CSS (LESS) 覆盖了相关的引导程序默认值:
.navbar-rgba-colors {
border-color: rgba(0,0,0,0.2);
.navbar-nav > li > a,
a.navbar-brand {
opacity: 0.7;
}
.navbar-nav > li:hover > a,
.navbar-nav > li > a:focus,
.navbar-nav > li.active > a,
.navbar-nav > li.active > a:hover,
.navbar-nav > li.active > a:focus,
.navbar-nav > li.open > a,
.navbar-nav > li.open > a:hover,
.navbar-nav > li.open > a:focus
a.navbar-brand:hover,
.navbar-header:hover > a,
a.navbar-brand:focus {
opacity: 1;
background: rgba(255, 255, 255, 0.1) !important;
}
}
该opacity
更改使文本在悬停时显得更亮,background
而使焦点/活动a
元素也显得更亮。
然后我像这样在 HTML 中实现:
<nav class="navbar navbar-default navbar-rgba-colors" ng-style="{ 'background-color': user.topBarBackgroundColor }">
对于导航栏中的任何a
元素:
<a ... ng-style="{ color: user.topBarColor }">Home</a>
现在分别更改导航栏的十六进制值topBarBackgroundColor
和topBarColor
更改背景颜色和文本颜色。我为此使用了angular-bootstrap-colorpicker,它似乎运行良好。