2012-04-12 32 views
5

Tôi có đánh dấu HTML sau:CSS quy tắc ".drop.a" được áp dụng cho lớp 'kéo một'

<div class="drag a"></div> 
<div class="drop a"></div> 

Tôi cũng có những quy tắc CSS sau đây, mà chỉ nên được áp dụng cho div thứ 2 của tôi :

.drop.a 
{ 
    background-color:red; 
} 

Điều này đang hoạt động tốt, ngoại trừ trong Internet Explorer 9 quy tắc CSS đang được áp dụng cho cả hai yếu tố.

Tại sao điều này? Tôi nghĩ loại CSS này tương thích phổ biến với tất cả các trình duyệt?

+0

có hoạt động không nếu bạn tạo các lớp riêng của chúng, ví dụ: drag_a và drop_a? – Samwise

+0

@Samwise Tôi tưởng tượng nó sẽ, vì đây là sau đó 2 riêng biệt toàn bộ các lớp học. – Curt

Trả lời

10

Tôi nghĩ loại CSS này tương thích phổ biến với tất cả các trình duyệt?

Không. IE up to and including version 6 ignores all class selectors in a chain except the last one. IE9 có thể hiển thị trang của bạn ở chế độ quirks, có nghĩa là trang sẽ hoạt động giống như người tiền nhiệm của nó và xử lý công cụ chọn .drop.a của bạn làm .a thay thế.

Hãy thử thêm tuyên bố loại tài liệu vào trang của bạn và xem có khắc phục được không. Nếu bạn đã có một trang trên trang của mình và bạn vẫn thấy hành vi này, có điều gì đó không ổn.

+3

+1 Cảm ơn! Tôi đang thêm chức năng kéo/thả vào một trang mà phải được tạo ra vào khoảng đầu những năm 2000, và không có doctype nào ở trên cùng, tôi không nghĩ đến việc kiểm tra. Điều này đã giải quyết được vấn đề của tôi. Tôi sẽ đánh dấu là câu trả lời sau 6 phút – Curt

Các vấn đề liên quan