Phiên bản CSS đầu tiên là CSS 1 (level 1) lần đầu tiên được W3C công bố vào năm 1996, có khả năng hỗ trợ:
• Thuộc tính phông, ví dụ như kiểu phông, kiểu chữ.
• Màu chữ, màu nền và các phần tử khác.
• Thuộc tính văn bản như khoảng cách giữa các từ, chữ và dòng văn bản.
• Căn lề văn bản, hình ảnh, bảng và các phần tử khác.
• Lề, đường biên, đệm (là khoảng cách phía trong của một thành phần với nội dung, thành phần nó bao quanh) và xác định vị trí các phần tử.
• Nhận dạng duy nhất và phân nhóm các thuộc tính.
CSS 1 được cập nhật lần cuối vào năm 2008 và sau đó W3C đã thông báo không duy trì CSS 1 nữa.
CSS phiên bản 2, CSS 2 (level 2) được W3C phát triển và công bố vào năm 1998. Thay thế cho CSS 1, CSS 2 có thêm nhiều tính năng mới như đặt ví trí tuyệt đối, vị trí tương đối và cố định vị trí các phần tử; bổ sung khái niệm các kiểu phương tiện Internet; hỗ trợ kiểu âm thanh và kiểu chữ phân hướng và thêm một số thuộc tính phông chữ như kiểu phông bóng. CSS 2 cũng được cập nhật lần cuối trong năm 2008 và W3C ra thông báo không duy trì CSS 2 nữa mà khuyến nghị sử dụng CSS 2.1 (Level 2 Revision 1).
CSS 2.1 chính thức được W3C công bố vào năm 2011 và hiện nay được sử dụng phổ biến. CSS 2.1 được xây dựng trên CSS 2 và sửa một số lỗi trong CSS 2; định nghĩa chiều cao/rộng cho vị trí tuyệt đối của các phần tử; thêm tính toán cho thuộc tính ‘clip’; thêm tác động cho thuộc tính ‘style’ trong HTML và quan trọng là hỗ trợ tính tương thích với nhiều thiết bị/chương trình trên máy người sử dụng. CSS 2.1 hỗ trợ kiểu xác định theo phương tiện cho phép biểu diễn tài liệu với các trình duyệt cần sự tương tác, các thiết bị âm thanh, máy in, thiết bị cầm tay v.v; đồng thời cũng hỗ trợ định vị nội dung, vị trí bảng biểu, đặc tính để quốc tế hóa và một số thuộc tính liên quan đến giao diện người sử dụng.
Bên cạnh đó, W3C cũng đang dự thảo CSS 3 và có thể tham khảo tại đây.
Mô hình xử lý CSS 2.1Đây là mô hình khái niệm biểu diễn một thiết bị/chương trình trên máy người sử dụng sẽ hỗ trợ CSS. Trong mô hình này, một thiết bị/chương trình trên máy người sử dụng sẽ xử lý theo trình tự như sau:
1. Phân tích tài liệu nguồn và tạo ra một cây văn bản. Cây văn bản là một cây gồm các phần tử được phân tích trong tài liệu nguồn, mỗi phần tử trong cây có một cha, ngoại trừ phần tử gốc.
2. Xác định kiểu phương tiện đích. Phương tiện có thể là máy in, máy chiếu, thiết bị cầm tay v.v.
3. Xác định tất cả các kiểu trong tài liệu được xác định cho kiểu phương tiện đích.
4. Đánh dấu mọi phần tử trong cây văn bản bằng cách gán một giá trị cho tất cả các thuộc tính phù hợp với kiểu phương tiện đích. Các thuộc tính được gán giá trị tuân theo cơ chế phân tầng và kế thừa.
Việc tính các giá trị phụ thuộc vào thuật toán định dạng phù hợp cho kiểu phương tiện đích. Ví dụ, nếu phương tiện đích là màn hình thì áp dụng mô hình định dạng kiểu tương tác.
5. Từ cây văn bản đã đánh dấu, sinh ra một cấu trúc có định dạng.
6. Chuyển cấu trúc có định dạng đến phương tiện đích (ví dụ in kết quả, hiển thị trên màn hình v.v).
Các thành phần và các thuộc tính CSS cho phép kiểu tham chiếu đến các phần trong tài liệu như sau:
• Các phần tử trong cây văn bản và mối quan hệ giữa chúng.
• Các thuộc tính của các phần tử trong cây văn bản và giá trị của các thuộc tính.
• Một số phần của nội dung phần tử.
• Các phần tử trong cây văn bản khi chúng có trạng thái cố định.
• Một số khía cạnh của khung (khung là khoảng cách khi cấu trúc có định dạng được phân tích) khi tài liệu sẽ được phân tích.
• Một số thông tin hệ thống.
Nguyên tắc thiết kế CSSCSS dựa trên một số nguyên tắc thiết kế sau:
• Tương thích xuôi và tương thích ngược: Các thiết bị/chương trình trên máy người sử dụng sử dụng CSS 2.1 có khả năng hiểu được CSS 1. Các thiết bị/chương trình trên máy người sử dụng sử dụng CSS 1 có khả năng hiểu được CSS 2.1 và bỏ đi những phần không hiểu. Tương tự, các thiết bị/chương trình trên máy người sử dụng không hỗ trợ CSS có thể hiển thị các tài liệu có kiểu, tất nhiên các kiểu sinh ra bởi CSS sẽ không được phân tích nhưng nội dung vẫn hiển thị.
• Bổ sung cho tài liệu có cấu trúc: Các kiểu CSS bổ sung cho tài liệu có cấu trúc (ví dụ HTML và các ứng dụng XML), cung cấp thông tin về kiểu cho việc trang trí văn bản. Việc thay đổi kiểu cần dễ dàng và ít sự thay đổi hoặc không ảnh hưởng đến việc trang trí.
• Độc lập nhà cung cấp, nền tảng và thiết bị: Các kiểu cho phép các tài liệu độc lập với các nhà cung cấp, nền tảng và thiết bị. Bản thân các kiểu cũng độc lập với nhà cung cấp và nền tảng nhưng CSS cho phép xác định kiểu cho một nhóm thiết bị.
• Khả năng duy trì: Bằng việc xác định kiểu từ những tài liệu, người quản trị có thể đơn giản hóa việc duy trì trang web và giữ được sự thống nhất của giao diện. Ví dụ, nếu thay đổi màu nền, chỉ cần thay đổi một tập tin.
• Khả năng đơn giản: CSS là một ngôn ngữ định kiểu đơn giản cho cả việc đọc và viết đối với con người. Các thuộc tính CSS được giữ độc lập với nhau để cho phép có thể mở rộng tối đa.
• Hiệu năng mạng: CSS cung cấp khả năng mã hóa gọn nhẹ phương thức biểu diễn nội dung. So sánh với những tập tin hình ảnh và âm thanh thường được sử dụng, các kiểu thường giảm kích thước nội dung, do đó kết nối mạng yếu cũng có thể mở được.
• Khả năng linh động: CSS có thể được áp dụng theo nhiều cách. Đặc tính quan trọng là khả năng xếp tầng thông tin kiểu được xác định trong kiểu mặc định, kiểu của người dùng, kiểu được liên kết, tiêu đề tài liệu và trong các thuộc tính cho các phần tử tạo nên nội dung tài liệu.
• Nội dung phong phú: Cung cấp cho người xây dựng một tập các hiệu ứng sửa đổi để làm tăng nội dung web như là một phương tiện thể hiện.
• Thay đổi ngôn ngữ kết hợp: Tập các thuộc tính CSS tạo nên một mô hình định dạng thống nhất cho việc biểu diễn hình ảnh và âm thanh. Mô hình định dạng có thể truy cập thông qua ngôn ngữ CSS nhưng cũng có thể kết hợp với các ngôn ngữ khác. Ví dụ, một chương trình JavaScript có thể tự động thay đổi giá trị của thuộc tính ‘color’ của một phần tử cố định.
• Khả năng truy cập: Một số đặc tính CSS sẽ làm cho web dễ truy cập hơn đối với những người khuyết tật:
- Các thuộc tính để quản lý biểu diễn phông cho phép người phát triển loại bỏ những hình ảnh không thể truy cập.
- Các thuộc tính định vị cho phép người phát triển loại bỏ những kỹ thuật đánh dấu (ví dụ ảnh ẩn).
- Quy tắc !important có nghĩa người dùng có yêu cầu hiển thị đặc biệt có thể thay đổi kiểu ban đầu.
- Giá trị 'inherit' của tất cả thuộc tính cải thiện khả năng xếp tầng và cho phép điều chỉnh kiểu dễ dàng hơn và thống nhất hơn.
- Nâng cao hỗ trợ các phương tiện và cho phép người dùng và người phát triển chỉnh sửa trang web phù hợp với các loại thiết bị.
Ứng dụngCSS được sử dụng để mô tả giao diện và định dạng của tài liệu được xây dựng dựa trên một ngôn ngữ đánh dấu. CSS đã tách bạch giữa nội dung của trang web và định dạng hiển thị và giúp cho việc duy trì trang web đơn giản và dễ dàng hơn.
Trong Thông tư số 22/2013/TT-BTTTT ngày 23/12/2013 của Bộ trưởng Bộ Thông tin và Truyền thông Công bố Danh mục tiêu chuẩn kỹ thuật về ứng dụng công nghệ thông tin trong cơ quan nhà nước quy định Bắt buộc áp dụng tiêu chuẩn CSS 2 và được xếp vào nhóm Tiêu chuẩn về truy cập thông tin.
