Hãy xem xét một kịch bản mà thuộc tính CSS thiếu đơn vị (px, em, pt,%):dự phòng cho CSS thuộc tính không có đơn vị
<body>
<div
style= "width:170;
border:1 dotted PaleGreen;
background-color:MistyRose">
The quick brown
</div>
</body>
Câu hỏi:
- Tại sao nó sẽ dự phòng để px? Pixel luôn là đơn vị ưu tiên? Có quy tắc nào được xác định trong bản thảo hoặc đề xuất làm việc của W3C không?
- Có quy tắc bắt buộc UA dự phòng cho đơn vị ưu tiên không?
- Với ví dụ trên, mà những điều sau đây là một hành vi chính xác:
- Internet Explorer: Trong chế độ Quirks (IE6,5,4 ..) chiều rộng và biên độ rộng sử dụng để dự phòng để px. Kể từ IE7 (cho đến nay, IE10RP) nó bỏ qua toàn bộ quy tắc nếu đơn vị bị thiếu. Do đó, cả hai quy tắc đều bị bỏ qua.
- Firefox 13: Trong ví dụ về chiều rộng ví dụ ở trên để px, nhưng chiều rộng của đường viền bị bỏ qua.
- Chrome 19, Opera 12, Safari 5.1.2: Cả chiều rộng và độ rộng đường viền dự phòng cho px.
Lưu ý: Trên Microsoft-Connect, họ nói:
Vấn đề bạn đang báo cáo là do thiết kế. IE10 trong chế độ tiêu chuẩn bỏ qua một chiều rộng hoặc chiều cao mà không có một đơn vị phù hợp với các tiêu chuẩn CSS. Thiết bị không phải là tùy chọn.
Đây là câu trả lời đúng. Khi tôi sử dụng doctype của HTML5 '', tất cả các trình duyệt nói trên đều bỏ qua chiều rộng và đường viền. Tôi không bao giờ biết rằng các trình duyệt khác cũng hoạt động khác nhau trong chế độ quirks. Cảm ơn bạn! –