Tìm hiểu tổng quan về CSS, CSS là gì? CSS có phải là ngôn ngữ lập trình hay không? CSS có vai trò gì trong thiết kế website? CSS có mối tương quan như thế nào với HTML? Tại sao lập trình viên cần sử dụng CSS? Newnet chia sẻ với bạn tất - tần - tật về CSS trong bài viết sau đây:
1. Định nghĩa CSS là gì?
CSS (Cascading Style Sheets), là một ngôn ngữ định kiểu theo tầng vì mã CSS được áp dụng theo nguyên tắc theo tầng (hay cascading). CSS được sử dụng để tìm và định dạng lại các phần tử được tạo dựng bởi HTML. Nếu một đoạn CSS được viết để định kiểu cho một phần tử HTML nào đó thì tất cả các các phần tử bên trong nó (hay phần tử con) của nó cũng sẽ được thừa kế kiểu trang trí này.
Cũng giống như HTML, CSS không phải là 1 ngôn ngữ lập trình mà có tác dụng tạo nên kiểu (style) cho các phần tử của website một cách có chọn lọc. CSS sẽ giúp bạn giải quyết những vấn đề sau:
- Đổi màu chữ thành xanh hay đỏ thì làm thế nào?
- Làm sao để hình ảnh có thể tạo hiệu ứng “lật mặt”?
- Làm sao để có được hình nền trên trang web?
Phương thức hoạt động của CSS là nó sẽ tìm dựa vào các vùng chọn, vùng chọn có thể là tên một thẻ HTML, tên một ID, class hay nhiều kiểu khác. Sau đó là nó sẽ áp dụng các thuộc tính cần thay đổi lên vùng chọn đó.
CSS ra đời để việc lập trình trở nên hoàn chỉnh hơn, khi HTML không được sáng tạo ra để định dạng trang web. Vì website có nhiều font khác nhau, màu nền và phong cách khác nhau. Để viết lại code cho trang web là cả một quá trình dài, cực nhọc. Vì vậy, CSS được tạo bởi W3C là để giải quyết vấn đề này.
2. Mối tương quan của HTML và CSS
CSS về lý thuyết không có cũng được, nhưng khi đó website sẽ không chỉ là một trang chứa văn bản mà không có gì khác. Trang web sẽ vô cùng tẻ nhạt và không hề thu hút một chút nào.
HTML và CSS luôn đi cùng nhau: HTML tạo ra cấu trúc, nội dung các phần tử trong trang, CSS làm cho các nội dung ấy thêm phần thu hút, bắt mắt. HTML là ngôn ngữ markup (nền tảng của site) và CSS định hình phong cách (tất cả những gì tạo nên giao diện website).
CSS và HTML là không thể tách rời. Để sử dụng được CSS thì trước tiên phải hiểu về HTML.
Có thể hình dung, HTML và CSS như việc xây nhà, HTML là toàn bộ ngôi nhà sau khi hoàn thành, còn CSS là sơn tường và các vật trang trí làm cho ngôi nhà thêm sinh động hơn.
HTML đóng vai trò xây dựng các phần tử trên website như việc tạo ra các đoạn văn bản, các tiêu đề, bảng,… thì CSS sẽ giúp chúng ta có thể thêm style vào các phần tử đó như đổi bố cục, đổi màu sắc, đổi màu chữ, đổi font chữ, thay đổi cấu trúc,…
Từng thẻ của HTML sẽ được dùng với ý nghĩa khác nhau. HTML được dùng để thêm nội dung và mô tả ý nghĩa của từng nội dung sử dụng các thẻ, tuy nhiên nó không quy định cách thức hiển thị các nội dung trên trang như thế nào.
Ngược lại với HTML, CSS không được sử dụng để thêm nội dung hay mô tả ý nghĩa của nội dung trên trang. CSS được sử dụng để thiết lập cách trình bày hay hiển thị của nội dung trên trang web.
3. Cơ cấu bộ quy tắc CSS là gì?
CSS là một ngôn ngữ định kiểu theo tầng. Điều này có nghĩa là nó cho phép bạn áp dụng kiểu có chọn lọc cho các phần tử trong tài liệu HTML.
CSS được khai báo bằng vùng chọn, sau đó các thuộc tính và giá trị sẽ nằm bên trong cặp dấu ngoặc nhọn {}. Phần giá trị và thuộc tính phải được cách nhau bằng dấu hai chấm ( : ), và mỗi một dòng khai báo thuộc tính sẽ luôn có dấu chấm phẩy ( ; ) ở cuối. Một vùng chọn có thể sử dụng không giới hạn thuộc tính.
Ví dụ: để chọn tất cả các phần tử đoạn trên trang HTML và chuyển văn bản trong đó màu đỏ, bạn sẽ viết CSS này:
Chúng ta hãy kiểm tra nó: dán ba dòng CSS này vào một tập tin trong chương trình hiệu chỉnh văn bản của bạn, sau đó lưu tập tin với tên là style.css trong thư mục styles của bạn.
Nhưng chúng ta vẫn cần nhúng CSS vào tài liệu HTML của bạn. Nếu không, các định dạng CSS sẽ không ảnh hưởng đến các phần tử HTML để làm thay đổi định dạng:
Bước 1: Mở tập tin index.html và dán dòng bên dưới vào đâu đó trên đầu tập tin (nghĩa là, giữa thẻ <head> và </head>):
Bước 2: Lưu tập tin index.html và tải nó vào trong trình duyệt của bạn. Bạn sẽ thấy như thế này:
Nếu đoạn văn bản là màu đỏ, xin chúc mừng. Bạn vừa viết thành công đoạn CSS đầu tiên của mình
Trong ví dụ trên, chúng ta đã nắm được cơ cấu bộ quy tắc CSS (nhưng thường gọi là "quy tắc" cho ngắn gọn), bao gồm:
Bộ chọn (Selector)
Tên phần tử HTML bắt đầu của bộ quy tắc. Nó chọn (các) phần tử được tạo kiểu (trong trường hợp này là phần tử p). Để tạo kiểu cho một phần tử khác, chỉ cần thay đổi bộ chọn. Các bộ chọn được áp dụng cho các trường hợp sau:
- Tất cả phần tử theo một dạng cụ thể nào đó, ví dụ phần tử tiêu đề h1.
- Thuộc tính id và class của các phần tử.
- Các phần tử dựa vào mối liên quan với các phần tử khác trong cây phân cấp tài liệu.
Khai báo (Declaration)
Một quy tắc duy nhất như: color: red; xác định thuộc tính của phần tử nào bạn muốn tạo kiểu. Khối khai báo chứa một hoặc nhiều khai báo, phân tách với nhau bằng các dấu chấm phẩy ( ; ). Mỗi khai báo gồm tên và giá trị đặc tính CSS, phân tách bằng dấu phẩy ( , ). Khai báo CSS luôn kết thúc bằng dấu chấm phẩy, khối khai báo nằm trong các dấu ngoặc móc ( {} ).
Thuộc tính (Properties)
Những cách mà bạn có thể tạo kiểu cho một phần tử HTML. (Trong trường hợp này, color là một thuộc tính của phần tử <p> En-US). Trong CSS, bạn chọn thuộc tính nào bạn muốn tác động trong quy tắc của mình.
Giá trị thuộc tính (Property Values)
Phần giá trị và thuộc tính phải được cách nhau bằng dấu hai chấm (:), và mỗi một dòng khai báo thuộc tính sẽ luôn có dấu chấm phẩy (;) ở cuối. Một vùng chọn có thể sử dụng không giới hạn thuộc tính, mà một trong số lần xuất hiện có thể cho một thuộc tính cụ thể (color có rất nhiều giá trị ngoài red). Giá trị thuộc tính có thể là dạng số, hoặc các tên giá trị trong danh sách có sẵn của CSS.
Ngoài ra còn có 1 số quy tắc khi coding CSS:
- Mỗi bộ quy tắc (ngoài bộ chọn) phải được bao bọc bởi các dấu ngoặc nhọn ( {} ).
- Trong mỗi khai báo, bạn phải sử dụng dấu hai chấm ( : ) để tách thuộc tính khỏi các giá trị của nó.
- Trong mỗi bộ quy tắc, bạn phải sử dụng dấu chấm phẩy ( ; ) để phân biệt cho mỗi bộ quy tắc khai báo kế tiếp.
Vì vậy, để thay đổi nhiều giá trị thuộc tính cùng lúc, bạn chỉ cần viết chúng bằng dấu chấm phẩy, như sau:
Bố cục CSS thường chủ yếu dựa vào hình hộp và mỗi hộp đều chiếm những khoảng trống trên trang của bạn với các thuộc tính như:
- Padding: Gồm không gian xung quanh nội dung (ví dụ: xung quanh đoạn văn bản).
- Border: Là đường liền nằm ngay bên ngoài phần đệm.
- Margin: Là khoảng cách xung quanh bên ngoài của phần tử.
- Width: Độ rộng của một phần tử
- Background-color, màu sắc đằng sau nội dung và vùng đệm của phần tử
- Color, màu sắc của nội phần tử (thường là văn bản)
- Text-shadow: đặt một bóng đổ trên văn bản bên trong một phần tử.
- Display: đặt chế độ hiển thị của một phần tử
3. Tại sao lập trình viên cần sử dụng CSS?
Sau đây là 3 lợi ích lớn nhất khiến lập trình viên phải hiểu rõ và sử dụng ngôn ngữ này trong thiết kế website:
Giải quyết một vấn đề lớn
Trước khi có CSS, các thẻ như phông chữ, màu sắc, kiểu nền, các sắp xếp phần tử, đường viền và kích thước phải được lặp lại trên mọi trang web. Đây là một quá trình rất dài tốn thời gian và công sức.
Nhờ CSS mà source code của trang Web sẽ được tổ chức gọn gàng hơn, trật tự hơn. Nội dung trang web sẽ được tách bạch hơn trong việc định dạng hiển thị. Từ đó, quá trình cập nhập nội dung sẽ dễ dàng hơn và có thể hạn chế tối thiểu làm rối cho mã HTML.
Tiết kiệm rất nhiều thời gian
CSS được lưu trong các tệp bên ngoài. Điều này có ý nghĩa lớn: lập trình viên có thể thay đổi toàn bộ trang web bằng cách thay đổi chỉ một tệp mà không cần phải viết thêm cho phần code chính. Sử dụng CSS sẽ giúp bạn không cần thực hiện lặp lại các mô tả cho từng thành phần. Từ đó, bạn có thể tiết kiệm được tối đa thời gian làm việc với nó, làm code ngắn lại giúp kiểm soát dễ dàng hơn các lỗi không đáng có.
CSS tạo ra nhiều style khác nhau nên có thể được áp dụng với nhiều trang web, từ đó giảm tránh việc lặp lại các định dạng của các trang web giống nhau.
Cung cấp thêm các thuộc tính
CSS cung cấp các thuộc tính chi tiết hơn HTML để định nghĩa giao diện của trang web. CSS giúp người dùng nhiều style trên một trang web HTML nên khả năng điều chỉnh trang của bạn trở nên vô hạn.
Trên đây là kiến thức tổng quan về CSS cho người bắt đầu, trả lời câu hỏi CSS là gì cho những bạn muốn học hỏi về lập trình. CSS giúp cho việc thiết kế website trở nên linh hoạt, đẹp mắt và thu hút hơn với những hiệu ứng, chuyển động mà việc coding không còn tốn quá nhiều thời gian. Hãy cùng Newnet tìm hiểu thêm về lập trình trong những bài viết sau nhé!
CÔNG TY CỔ PHẦN CÔNG NGHỆ NEWNET
Địa chỉ: 554/10 Phạm Văn Đồng, P. 13, Q. Bình Thạnh, TP. Hồ Chí Minh
Email: info@newnet.vn
Hotline: 0789 99 4747
Website: https://newnet.vn