Các kiểu mặc định của trình duyệt được xác định trong biểu định kiểu tác nhân người dùng, các nguồn mà bạn có thể tìm thấy ở đây . Thật không may, thông số cấp 3 Cascading và thừa kế không xuất hiện để đề xuất cách đặt lại thuộc tính kiểu về mặc định của trình duyệt. Tuy nhiên, có kế hoạch giới thiệu lại một từ khóa cho từ khóa này trong Cascading và thừa kế cấp 4 - nhóm làm việc chỉ đơn giản là chưa đặt tên cho từ khóa này (liên kết hiện nói revert
, nhưng nó chưa phải là cuối cùng). Thông tin về hỗ trợ trình duyệt revert
có thể được tìm thấy trên caniuse.com .
Mặc dù thông số kỹ thuật cấp 3 giới thiệu một initial
từ khóa , việc đặt thuộc tính thành giá trị ban đầu sẽ đặt lại nó thành giá trị mặc định như được xác định bởi CSS , không được xác định bởi trình duyệt . Giá trị ban đầu display
là inline
; điều này được chỉ định ở đây . Các initial
từ khóa liên quan đến giá trị đó, không phải là trình duyệt mặc định. Các thông số kỹ thuật làm cho ghi chú này dưới all
tài sản :
Ví dụ: nếu một tác giả chỉ định all: initial
trên một phần tử, nó sẽ chặn tất cả các kế thừa và đặt lại tất cả các thuộc tính, như thể không có quy tắc nào xuất hiện ở cấp độ tác giả, người dùng hoặc tác nhân người dùng của tầng.
Điều này có thể hữu ích cho phần tử gốc của một "widget" được bao gồm trong một trang, không muốn kế thừa các kiểu của trang bên ngoài. Tuy nhiên, lưu ý rằng mọi kiểu "mặc định" được áp dụng cho phần tử đó (chẳng hạn như display: block
từ biểu định kiểu UA trên các phần tử khối như <div>
) cũng sẽ bị xóa bỏ.
Vì vậy, tôi đoán cách duy nhất ngay bây giờ khi sử dụng CSS thuần là tìm kiếm giá trị mặc định của trình duyệt và đặt thủ công theo cách đó:
div.foo { display: inline-block; }
div.foo.bar { display: block; }
(Một thay thế cho ở trên sẽ là div.foo:not(.bar) { display: inline-block; }
, nhưng điều đó liên quan đến việc sửa đổi bộ chọn ban đầu thay vì ghi đè.)
unset
.