Odpowiedzią na to jest Specyfika CSS. Musisz być bardziej „konkretny” w swoim CSS, aby mógł przesłonić właściwości css ładowania początkowego.
Na przykład masz tutaj przykładowy kod menu ładowania początkowego:
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div id="home-menu-container" class="collapse navbar-collapse">
<ul id="home-menu" class="nav navbar-nav">
<li><a class="navbar-brand" href="#"><img src="images/xd_logo.png" /></a></li>
<li><a href="#intro">Home</a></li>
<li><a href="#about">About Us</a></li>
<li><a href="#services">What We Do</a></li>
<li><a href="#process">Our Process</a><br /></li>
<li><a href="#portfolio">Portfolio</a></li>
<li><a href="#contact">Contact Us</a></li>
</ul>
</div>
</nav>
Tutaj trzeba pamiętać o hierarchii specyfiki. To wygląda tak:
- Daj elementowi o identyfikatorze wymienione 100 punktów
- Daj elementowi z klasą wymienioną 10 punktów
- Daj prostemu elementowi 1 punkt
Tak więc, dla powyższego, jeśli twój css ma coś takiego:
.navbar ul li a { color: red; }
.navbar a { color: green; }
Tak więc, nawet jeśli zdefiniowałeś .navbar a
after .navbar ul li a
, nadal będzie on zastępowany kolorem czerwonym zamiast zielonym, ponieważ specyficzność jest większa (13 punktów).
W zasadzie wszystko, co musisz zrobić, to obliczyć punkty dla elementu, dla którego chcesz zmienić css, za pomocą elementu inspect w przeglądarce. Tutaj bootstrap określił swój css dla elementu jako
.navbar-inverse .navbar-nav>li>a {
color: #999;
}
Tak więc, nawet jeśli ładuje się twój css, jest ładowany po bootstrap.css, który ma następujący wiersz:
.navbar-nav li a {
color: red;
}
nadal będzie renderowany jako # 999. Aby rozwiązać ten problem, bootstrap ma 22 punkty (obliczyć to samodzielnie). Potrzebujemy więc czegoś więcej. W związku z tym dodałem niestandardowe identyfikatory do elementów, tj. Kontener menu głównego i menu głównego. Teraz zadziała następujący css:
#home-menu-container #home-menu li a { color: red; }
Gotowe.
Możesz skorzystać z tego łącza MDN .