2017-10-17 12 views
0

Je veux changer la couleur de fond et la couleur de la police de mon navbar bootstrap, avec un simple code css:navbar bootstrap: couleur de la police overiding

#mainNav { 
 
     overflow: hidden; 
 
     background-color: transparent; 
 
    \t color: #333; 
 
     position: fixed; /* Set the navbar to fixed position */ 
 
     top: 0; /* Position the navbar at the top of the page */ 
 
     width: 100%; /* Full width */ 
 
    } 
 
    .navbar a{ 
 
    \t color: #333; 
 
    }

je reçois l'arrière-plan transparent, et la police la couleur est blanche (au lieu de noir)

Mon code d'amorçage est comme navbar folows:

<nav id="mainNav" class="navbar navbar-default navbar-custom navbar-fixed-top"> 
 
    <div class="container"> 
 
    <!-- Brand and toggle get grouped for better mobile display --> 
 
    <div class="navbar-header page-scroll"> 
 
     <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> 
 
         <span class="sr-only">Toggle navigation</span> Menu <i class="fa fa-bars"></i> 
 
        </button> 
 
     <a class="navbar-brand page-scroll" href="#page-top"><img src="img/abc.png" alt="logo" width="72" height="68" id="logo"> 
 
     </a> 
 
    </div> 
 

 
    <!-- Collect the nav links, forms, and other content for toggling --> 
 
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
 
     <ul class="nav navbar-nav navbar-right"> 
 
     <li class="hidden"> 
 
      <a href="#page-top"></a> 
 
     </li> 
 
     <li> 
 
      <a class="page-scroll" href="#services">services</a> 
 
     </li> 
 
     <li> 
 
      <a class="page-scroll" href="#portfolio">portfolio</a> 
 
     </li> 
 
     <li> 
 
      <a class="page-scroll" href="#portfolio_sectors">Sectors</a> 
 
     </li> 
 

 
     <li> 
 
      <a class="page-scroll" href="#my_carousel">References</a> 
 
     </li> 
 

 
     <li> 
 
      <a class="page-scroll" href="#about">About</a> 
 
     </li> 
 
     <li> 
 
      <a class="page-scroll" href="#team">Team</a> 
 
     </li> 
 
     <li> 
 
      <a class="page-scroll" href="#contact">Contact</a> 
 
     </li> 
 
     </ul> 
 
    </div> 
 
    <!-- /.navbar-collapse --> 
 
    </div> 
 
    <!-- /.container-fluid --> 
 
</nav>

Je ne peux pas comprendre ce que je fais mal.

Répondre

0

Vous ciblez bien les éléments correctement, et votre règle pour .navbar a est appliquée. Le problème est que Bootstrap fournit higher specificity: .navbar-default .navbar-brand est en train d'écraser .navbar a. En tant que tel, vous pouvez utiliser .navbar-default a.navbar-brand pour cibler le logo au lieu de .navbar a, vous offrant une plus grande spécificité. Notez que votre sélecteur #mainNav applique en effet toutes vos règles personnalisées.

Cela peut être vu dans l'exemple suivant:

#mainNav { 
 
    overflow: hidden; 
 
    background-color: transparent; 
 
    color: #333; 
 
    position: fixed; /* Set the navbar to fixed position */ 
 
    top: 0; /* Position the navbar at the top of the page */ 
 
    width: 100%; /* Full width */ 
 
} 
 

 
.navbar-default a.navbar-brand { 
 
    color: #333; 
 
    color: red /* To clearly showcase the override */ 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 

 

 
<nav id="mainNav" class="navbar navbar-default navbar-custom navbar-fixed-top"> 
 
    <div class="container"> 
 
    <!-- Brand and toggle get grouped for better mobile display --> 
 
    <div class="navbar-header page-scroll"> 
 
     <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> 
 
     <span class="sr-only">Toggle navigation</span> Menu <i class="fa fa-bars"></i> 
 
     </button> 
 
     <a class="navbar-brand page-scroll" href="#page-top"><img src="img/abc.png" alt="logo" width="72" height="68" id="logo"> 
 
     </a> 
 
    </div> 
 
    <!-- Collect the nav links, forms, and other content for toggling --> 
 
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
 
     <ul class="nav navbar-nav navbar-right"> 
 
     <li class="hidden"> 
 
      <a href="#page-top"></a> 
 
     </li> 
 
     <li> 
 
      <a class="page-scroll" href="#services">services</a> 
 
     </li> 
 
     <li> 
 
      <a class="page-scroll" href="#portfolio">portfolio</a> 
 
     </li> 
 
     <li> 
 
      <a class="page-scroll" href="#portfolio_sectors">Sectors</a> 
 
     </li> 
 
     <li> 
 
      <a class="page-scroll" href="#my_carousel">References</a> 
 
     </li> 
 
     <li> 
 
      <a class="page-scroll" href="#about">About</a> 
 
     </li> 
 
     <li> 
 
      <a class="page-scroll" href="#team">Team</a> 
 
     </li> 
 
     <li> 
 
      <a class="page-scroll" href="#contact">Contact</a> 
 
     </li> 
 
     </ul> 
 
    </div> 
 
    <!-- /.navbar-collapse --> 
 
    </div> 
 
    <!-- /.container-fluid --> 
 
</nav>

Hope this helps! :)

+0

merci beaucoup, Obsidian, pour m'avoir informé de cette règle de Spécificité Supérieure, car je suis totalement newbyte. Depuis que j'utilise un modèle de bootstrap, essayer de comprendre tout le css derrière lui est juste écrasant. J'ai changé mon code en fonction de votre suggestion, et bien que je puisse le faire fonctionner lorsqu'il est isolé, il ne sera pas exécuté à nouveau une fois dans mon modèle. Je suppose qu'il s'agit encore une fois de spécificité plus élevée quelque part dans mon code de modèle, mais je ne le trouve pas ... –

+0

Aucun problème; c'est quelque chose que vous voudrez certainement garder à l'esprit avec CSS! Bootstrap ajoute en effet beaucoup de règles personnalisées (pas seulement dans 'bootstrap.css', mais aussi dans des fichiers comme' navbar.less'). Je vous recommande d'utiliser l'inspecteur des outils de développement F12 (en vérifiant les «règles») pour voir quelles règles sont ajoutées. 'Calculé' vous montrera lequel est appliqué. Commencez par cet exemple de travail en tant que 'base', et appliquez lentement les choses jusqu'à ce qu'il cesse de fonctionner; alors vous connaissez le problème et pouvez vérifier les règles. N'oubliez pas que vous pouvez utiliser '! Important' pour remplacer, mais cela ne devrait être qu'un dernier recours;) –