2010-12-30 46 views
141

thể trùng lặp:
CSS reset - purpose of asterik within a styleDấu hoa thị làm gì trong tên thuộc tính CSS?

Tôi biết những gì một dấu sao nào trong một selector cho CSS (What does an Asterisk do?), nhưng nó làm gì trong một cái tên bất động sản? Dưới đây là ví dụ về CSS được YUI sử dụng. Tôi không biết những gì các *display hiện.

.yui-button .first-child 
{ 
    display:block; 
    *display:inline-block; 
} 
+0

thật thú vị trong ví dụ của bạn là * display: inline-block; vì internet explorer 7, không "hiểu" thuộc tính khối nội tuyến – Sotiris

+4

@Sotiris: Nó có, một chút. Mặc dù nó có sai không. – BoltClock

+0

@BoltClock hahahah "Có một chút" – luigi7up

Trả lời

153

Đây là lỗi cú pháp. Vì vậy, trong CSS, nó làm cho tên thuộc tính không hợp lệ và dừng nó được phân tích cú pháp.

Nhờ lỗi trong trình duyệt, đôi khi bị bỏ qua. Điều này có hiệu quả làm cho tài sản chỉ áp dụng cho các trình duyệt có tính năng lỗi cụ thể đó - IE7.

Nói chung, cần tránh sử dụng các nhận xét có điều kiện.

57

Đó là một bản hack IE. Khai báo thứ hai sẽ được áp dụng bởi IE7 và cũ hơn (do đó ghi đè khai báo đầu tiên), trong khi các trình duyệt khác sẽ bỏ qua nó và tiếp tục áp dụng khai báo đầu tiên thay thế.

Ngoài ra, đây là cú pháp CSS không hợp lệ.

+0

@Jakub Pietkun: wat. Bạn có ảnh chụp màn hình? – BoltClock

+0

Xin lỗi vì nhầm lẫn, tôi đã nhầm. Tôi đã thử nghiệm FF, Chrome và IE - thuộc tính "asterisked" không có hiệu lực. –

14

giống như dấu gạch dưới cho ví dụ6. nhưng đối với ie7

nếu bạn đặt dấu hoa thị, thuộc tính sẽ chỉ được sử dụng trong các trình duyệt ie7 và cũ hơn.

hack của nó ...

9

Đây là một trong các hack của IE. Internet Explorer phân tích cú pháp CSS theo một cách hơi khác, cho phép một số hack nhất định sẽ bị bỏ qua trong các trình duyệt khác. Google cho nó. Bạn có thể nhắm mục tiêu các phiên bản khác nhau của IE với các hack khác nhau.

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