Cascading Style Sheets

Cascading Style Sheets
Cascading Style Sheets

CSS (Cascading Style Sheets) cũng tương tự như HTML. Nó không phải là một ngôn ngữ lập trình và cũng không phải là một ngôn ngữ đánh dấu văn bản. CSS là một ngôn ngữ dùng để quy định kiểu (style). Nó cho phép bạn quy định một số style lên các phần tử HTML như kích thước, font chữ, màu sắc…

Lịch sử ra đời

Mục đích ban đầu của HTML5

Tại thời điểm này, chúng ta đều biết rằng HTML, CSS và JavaScript là bộ 3 cơ bản cấu thành nên một trang web hiện đại. Nhưng CSS không được xuất hiện từ ban đầu cùng với HTML. Hãy cùng mình lướt sơ về lịch sử, động lực hình thành của nó nhé.

Ban đầu, khi HTML ra đời, cha đẻ của nó không quá quan trọng vấn đề hiển thị tài liệu HTML. Ông cho rằng, cách mà các phần tử HTML render như thế nào là nhiệm vụ của các trình duyệt web. Bạn có thể hình dung vấn đề này như sau:

  • Kỳ vọng của Tim Berners-Lee khi phát minh ra HTML và WWW là muốn tạo một kho chứa tài liệu khổng lồ. Ở đó các tài liệu dễ dàng liên kết và tham chiếu đến nhau. Nên việc định dạng như font chữ, kích thước khoảng cách …vv trở thành yếu tố cồng kềnh, không cần thiết.
  • Công nghệ lúc bấy giờ còn bị hạn chế về phần cứng, tốc độ internet…vv Do đó, nhét quá nhiều thứ vào một trang web cũng không phải là một ý tưởng tốt.

Nhu cầu của người dùng

Sau một thời gian ngắn, khoảng 4-5 năm sau. WWW đã trở nên rất phổ biến. Trang web bắt đầu vượt ra ngoài mục đích ban đầu của nó. Người ta sử dụng web như một trang blog cá nhân, trang web thông tin cho doanh nghiệp hay thậm chí 1 trang giới thiệu sản phẩm. Lúc này, nhu cầu của các lập trình viên tăng lên và họ muốn trang web mình phải có bố cục riêng biệt và bắt mắt hơn.

Trong thời gian này, cuộc đua giữa các công ty/tập đoàn công nghệ trong việc phát triển trình duyệt web trở nên vô cùng khốc liệt. Nhiều ngôn ngữ, chức năng mới được đề xuất trong giai đoạn này.

Tới năm 1994, CSS được giới thiệu lần đầu tiên ở một hội thảo về Web tại Chicago, Mỹ. Những khái niệm, tư tưởng của CSS gây rất nhiều tranh cãi vào thời bấy giờ. 1 năm sau, CSS lại được nhắc lại thêm một lần nữa và vẫn chưa được thế giới công nhận. Có lẽ, thành công của nó là khiến tất cả mọi người đều nghĩ về 1 phương pháp nào đó để định kiểu cho tài liệu HTML tốt hơn.

CSS ra đời

Năm 1995, World Wide Web Consortium (W3C) cũng đi vào hoạt động. Nhiều công ty và tổ chức tham gia tổ chức này, cùng thảo luận về CSS. Microsoft cũng có đại diện tham dự hội thảo này. Và họ tuyên bố sẽ hỗ trợ CSS trong tất cả các phiên bản mới của Internet Explorer. Vào cuối năm 1995, W3C đã thành lập Hội đồng Đánh giá Biên tập HTML (HTML ERB) để phê chuẩn các thông số kỹ thuật HTML trong tương lai. Do nhiều thành viên trong hội đồng cũng rất quan tâm đến CSS, nên đặc tả CSS được coi là một mục công việc với mục tiêu đưa nó vào Khuyến nghị của W3C.

Tới 12/1996 CSS 1 trở thành 1 khuyến nghị của W3C. Nghĩa là W3C khuyến nghị các trình duyệt web nên hỗ trợ CSS và các lập trình viên cũng nên sử dụng CSS để định style cho trang web của họ. Ngay sau đó, W3C bắt tay vào xây dựng phiên bản 2 của CSS. CSS2 hi vọng sửa lỗi và thêm nhiều tính năng mà CSS1 chưa thực hiện được. Đến tháng 5/1998 CSS2 ra đời với nhiều tính năng nổi bật. Như hỗ trợ tính năng đặc tả media (media-specific) element positioning…vv

Ngay sau khi hoàn thiện CSS2. W3C bắt tay vào xây dựng phiên bản kế tiếp là CSS3 (khoảng năm 1999). CSS3 được thiết kế theo từng phần riêng biệt (module). CSS3 mang lại rất rất nhiều tính năng mới. Hiện tại, CSS3 đã được hầu hết các trình duyệt hỗ trợ đầy đủ.

Cùng với HTML, JavaScript, CSS đã trở thành một phần không thể thiếu trong một trang web hiện đại. Nhờ vào những công nghệ này. Trang web của chúng ta đã tiến rất xa so với mục đích ban đầu của nó.

Các phiên bản

Sau gần 30 năm hình thành và phát triển. CSS đã trải qua 3 phiên bản chính với nhiều nâng cấp vượt bậc.

  • CSS
  • CSS2
  • CSS3

Các bạn có thể dễ dàng nhận thấy, mỗi phiên bản CSS cách nhau khoảng 10 năm. Do đó, chúng ta sẽ không so sánh chúng với nhau. Thay vào đó, trong loạt bài hướng dẫn này. Mình sẽ tập trung tìm hiểu các tính năng quan trọng của CSS trong thời điểm hiện tại.

Và tương tự như HTML, chúng ta bắt đầu tìm hiểu CSS với phiên bản CSS3. Do đó, chúng ta sẽ mặc định hiểu khi nhắc đến CSS nghĩa là chúng ta đang làm việc với phiên bản CSS3.

Nếu có hứng thú với lịch sử, các bạn có thể tham khảo thêm: