Monday, 6 July 2009

Lesson 2 - Một Số Quy Ước Về Cách Viết CSS- Part 2

Lưu ý: Thẻ style nên đặt trong thẻ head. Đối với những trình duyệt cũ, không thể nhận ra thẻ



+ Cách 3: Bên ngoài (liên kết với một file CSS bên ngoài)

Tương tự như cách 2 nhưng thay vì đặt tất cả các mã CSS trong thẻ style chúng ta sẽ đưa chúng vào trong một file CSS (có phần mở rộng .css) bên ngoài và liên kết nó vào trang web bằng thuộc tính href trong thẻ link.

Đây là cách làm được khuyến cáo, nó đặc biệt hữu ích cho việc đồng bộ hay bảo trì một website lớn sử dụng cùng một kiểu mẫu. Các ví dụ trong sách này cũng được trình bày theo kiểu này.



Nào bây giờ chúng ta hãy mở Notepad lên và thử thực hiện theo ví dụ sau: Đầu tiên chúng ta sẽ tạo ra một file vidu.html có nội dung như sau:



Sau đó hãy tạo một file style.css với nội dung:



Hãy đặt 2 file này vào cùng một thư mục, mở file vidu.html trong trình duyệt của bạn và xem thành quả.


Lưu ý: Để lưu 1 file với 1 đuôi khác .txt trong Notepad chúng ta chọn Save as type là All Files. Có thể chọn Encoding là UTF-8, nếu bạn chú thích CSS bằng tiếng Việt. Trong CSS chúng ta còn có thể sử dụng thuộc tính @import để nhập một file CSS vào CSS hiện hành. Cú pháp: @import url(link)

Sự ưu tiên:

Trước khi thực thi CSS cho một trang web. Trình duyệt sẽ đọc toàn bộ CSS mà trang web có thể được áp dụng, bao gồm: CSS mặc định của trình duyệt, file CSS bên ngoài liên kết vào trang web, CSS nhúng trong thẻ <> và các CSS nội tuyến.

Sau đó, trình duyệt sẽ tổng hợp toàn bộ CSS này vào một CSS ảo, và nếu có các thuộc tính CSS giống nhau thì thuộc tính CSS nào nằm sau sẽ được ưu tiên sử dụng .

Theo nguyên tắc đó trình duyệt của bạn sẽ ưu tiên cho các CSS nội tuyến => CSS bên trong => CSS bên ngoài => CSS mặc định của trình duyệt.

Ví dụ: Trong một trang web có liên kết tới file style.css có nội dung như sau:


trong thẻ giữa thẻ cũng có một đoạn CSS liên quan:



trong phần nội dung trang web đó cũng có sử dụng CSS nội tuyến:



Khi thực thi CSS trình duyệt sẽ đọc hết tất cả các nguồn chứa style rồi sẽ tổng hợp lại vào một CSS ảo và nếu có sự trùng lắp các thuộc tính CSS thì nó sẽ lấy thuộc tính CSS có mức ưu tiên cao hơn. Như ví dụ trên chúng ta sẽ thấy CSS cuối cùng mà phần tử p nhận được là:



Vậy có cách nào để thay đổi độ ưu tiên cho một thuộc tính nào đó?

Thật ra thì trong CSS đã có sẵn một thuộc tính giúp chúng ta thực hiện điều này, đó chính là thuộc tính !important. Chỉ cần bạn đặt thuộc tính này sau một thuộc tính nào đó theo cú pháp

selector { property:value !important }

thì trình duyệt sẽ hiểu đây là một thuộc tính được ưu tiên. Bây giờ, chúng ta cùng xét lại ví dụ trên nhưng có đặt thêm một số thuộc tính !important vào xem kết quả như thế nào nhé.





Phần CSS sẽ tác động lên thuộc tính p là:



Lưu ý: Cùng một thuộc tính cho một selector thì nếu cả hai thuộc tính đều đặt !important thì cái sau được lấy.


No comments:

Post a Comment