在引导程序中更改图标栏(☰)颜色

a12*_*773 37 css css-specificity twitter-bootstrap

我想改变☰颜色.

HTML:

<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#menu">
  <span class="sr-only">Toggle menu navigation</span>
  <span class="icon-bar"></span>
  <span class="icon-bar"></span>
  <span class="icon-bar"></span>
</button>
Run Code Online (Sandbox Code Playgroud)

我尝试了各种各样的东西(看起来吼叫)但没有任何作用

CSS:

.icon-bar {
  color: black;
  border-color: black;
  background-color: black;
}
Run Code Online (Sandbox Code Playgroud)

Jam*_*lly 96

你的CSS不起作用的原因是因为特异性.Bootstrap选择器具有比您更高的特异性,因此您的样式完全被忽略.

Bootstrap使用选择器设置样式:.navbar-default .navbar-toggle .icon-bar.此选择器的B特异性值为3,而您的B特异性值仅为1.

因此,要覆盖它,只需在CSS中使用相同的选择器(假设您的CSS包含 Bootstrap 之后):

.navbar-default .navbar-toggle .icon-bar {
    background-color: black;
}
Run Code Online (Sandbox Code Playgroud)

  • @JaydenLawson我已经回滚了你的编辑.最近稍微重新定义了特异性的定义,以去除小数,连接值.CSS类具有*B*特异性值1.当*A​​*,*B*和*c*值连接时,它看起来具有010的特异性,是的,但是当超过10时会发生什么类(或16,如果你想在这里使用十六进制)?特异性不会突然变为100,那么它将是0100,但是作为难以阅读的连接值,实际上应该表示为0,10,0. (2认同)
  • 不用担心@James.至少拼写是正确的:) (2认同)

Pra*_*K C 7

尝试过度使用CSS!important

像这样

.icon-bar {
   background-color:#FF0000 !important;
}
Run Code Online (Sandbox Code Playgroud)

  • 使用`!important`通常是一个坏主意,为此它完全没必要. (11认同)
  • @AlanSimes我在这个问题上提供的答案不使用`!important`,并且被接受和赞成超过15次. (3认同)