Câu trả lời cho điều này là tính đặc hiệu CSS. Bạn cần phải "cụ thể" hơn trong CSS của mình để nó có thể ghi đè các thuộc tính css của bootstrap.
Ví dụ: bạn có mã mẫu cho menu bootstrap tại đây:
<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><!-- /.navbar-collapse -->
</nav>
Ở đây, bạn cần nhớ thứ bậc của tính đặc hiệu. Nó như thế này:
- Cho một phần tử với id được đề cập 100 điểm
- Cho một phần tử với một lớp được đề cập 10 điểm
- Cho một phần tử đơn giản 1 điểm duy nhất
Vì vậy, đối với ở trên nếu css của bạn có cái gì đó như thế này:
.navbar ul li a { color: red; } /* 10(.navbar) + 1(ul) + 1(li) + 1(a) = 13 points */
.navbar a { color: green; } /* 10(.navbar) + 1(a) = 11 points */
Vì vậy, ngay cả khi bạn đã xác định .navbar a
sau, .navbar ul li a
nó vẫn sẽ ghi đè bằng màu đỏ, thay vì màu xanh lục vì độ đặc hiệu là nhiều hơn (13 điểm).
Vì vậy, về cơ bản, tất cả những gì bạn cần làm là tính điểm cho phần tử bạn muốn thay đổi css cho, thông qua phần tử kiểm tra trên trình duyệt của bạn. Ở đây, bootstrap đã chỉ định css của nó cho phần tử là
.navbar-inverse .navbar-nav>li>a { /* Total = 22 points */
color: #999;
}
Vì vậy, ngay cả khi css của bạn đang tải đang được tải sau khi bootstrap.css có dòng sau:
.navbar-nav li a {
color: red;
}
nó vẫn sẽ được hiển thị là # 999. Để giải quyết điều này, bootstrap có 22 điểm (tự tính toán). Vì vậy, tất cả những gì chúng ta cần là một cái gì đó nhiều hơn thế. Vì vậy, tôi đã thêm ID tùy chỉnh vào các thành phần, ví dụ như menu-menu-container và home-menu. Bây giờ css sau sẽ hoạt động:
#home-menu-container #home-menu li a { color: red; } /* 100 + 100 + 1 + 1 = 202 points :) */
Làm xong.
Bạn có thể tham khảo liên kết MDN này .