Có nhiều cách khác nhau trong đó các thuộc tính có thể được ghi đè. Giả sử bạn có
.left { background: blue }
ví dụ: bất kỳ điều nào sau đây sẽ ghi đè nó:
a.background-none { background: none; }
body .background-none { background: none; }
.background-none { background: none !important; }
Hai "chiến thắng" đầu tiên bởi tính cụ thể của bộ chọn; chiếc thứ ba thắng bằng !important
một công cụ cùn.
Bạn cũng có thể sắp xếp các biểu định kiểu của mình sao cho quy tắc
.background-none { background: none; }
thắng đơn giản bằng cách trật tự, tức là bằng cách sau khi một quy tắc khác không kém phần “mạnh mẽ”. Nhưng điều này đặt ra những hạn chế và đòi hỏi bạn phải cẩn thận trong bất kỳ việc sắp xếp lại các trang định kiểu.
Đây là tất cả các ví dụ về CSS Cascade , một khái niệm quan trọng nhưng bị hiểu nhầm rộng rãi. Nó xác định các quy tắc chính xác để giải quyết xung đột giữa các quy tắc của bảng định kiểu.
PS tôi đã sử dụng left
và background-none
như chúng đã được sử dụng trong câu hỏi. Chúng là những ví dụ về tên lớp không nên được sử dụng, vì chúng phản ánh vai trò hiển thị cụ thể chứ không phải vai trò cấu trúc hoặc ngữ nghĩa.
left
vàbackground-none
tránh?