Lesson 2: CSS
Cùng học cơ bản về CSS
Last updated
Cùng học cơ bản về CSS
Last updated
Như đã biết, CSS (Cascading Style Sheets) là một ngôn ngữ dùng để mô tả cách thức hiển thị và bố cục của các tài liệu viết bằng HTML (hoặc XML).
CSS cho phép kiểm soát giao diện của trang web, bao gồm màu sắc, phông chữ, khoảng cách giữa các phần tử, và cách chúng sắp xếp trên trang....
Đối với CSS, ta sẽ có 3 cách để sử dụng mã nguồn:
Inline CSS: Viết mã nguồn CSS ngay trên chính thẻ HTML.
Internal CSS: Viết mã nguồn CSS trong file HTML, sử dụng cú pháp Selector để truy xuất và định nghĩa thuộc tính CSS.
External CSS: Viết, sử dụng mã nguồn CSS từ nơi khác, sử dụng liên kết từ file HTML để sử dụng. (Có thể tự tạo file, sử dụng cú pháp Selector để truy xuất và định nghĩa thuộc tính CSS).
Thuộc tính là cách định nghĩa cách hiển thị của phần tử HTML.
Cả 3 cách trên, về ý nghĩa, chức năng sẽ có sự khác nhau, nhưng có một 'core' giống nhau, đó chính là cú pháp thể hiện thuộc tính CSS.
Tên thuộc tính: giá trị;
Chỉ cần biết một chút tiếng Anh, việc học sẽ trở nên cực kỳ dễ dàng
Chỉ cần hiểu quy luật cú pháp (syntax)
color: red;
Định nghĩa thuộc tính màu sắc, với giá trị đỏ
background-color: blue;
Định nghĩa thuộc tính màu nền, với giá trị màu xanh dương
font-size: 16px;
Định nghĩa thuộc tính kích thước chữ, với giá trị 16px
text-align: center;
Định nghĩa thuộc tính căn lề của chữ, với giá trị center - tức chữ được căn giữa
text-decoration: underline;
Định nghĩa thuộc tính trang chí cho chữ, với giá trị underline - tức chữ sẽ có gạch chân phía dưới
font-style: italic;
Định nghĩa thuộc tính kiểu chữ, với giá trị italic - tức chữ sẽ nghiêng
text-transform: uppercase;
Định nghĩa thuộc tính thay đổi dạng văn bản, với giá trị uppercase - tức văn bản sẽ được viết hoa hết các ký tự
cursor: pointer;
Định nghĩa con trỏ chuột, với giá trị pointer, khi đưa chuột vào phần tử, con trỏ chuột sẽ là hình bàn tay trỏ
CSS rất nhiều thuộc giá và giá trị, hãy tìm hiểu thêm để mở rộng kiến thức
Như định nghĩa, Inline CSS là viết mã nguồn CSS ngay trên chính thẻ HTML.
Thẻ HTML sẽ có một thuộc tính tên là style
, thuộc tính này sẽ là nơi chứa các câu lệnh định nghĩa thuộc tính CSS
Selector là cách chọn phần tử HTML, có rất nhiều cú pháp và ý nghĩa riêng. Cú pháp Selector rất quan trọng và áp dụng cho Internal CSS và External CSS.
Dưới đây là các cú pháp Selector cơ bản:
Selector theo tên thẻ: Áp dụng cho tất cả các thẻ có tên tương ứng được truy xuất
Ví dụ:
Áp dụng thuộc tính màu chữ, có giá trị là màu đỏ, cho tất cả thẻ p trong văn bản HTML
Selector theo class: Áp dụng cho tất cả các thẻ, có thuộc tính class
chứa giá trị tương ứng được truy xuất.
Một thẻ có thể có nhiều giá trị class, được cách nhau bởi dấu cách
Để truy xuất theo class, ta sẽ thực hiện đánh dấu chấm .
sau đó ghi liền kề giá trị class mong muốn
Ví dụ:
Thẻ p có class là mindx
Selector theo id: Áp dụng cho tất cả các thẻ, có thuộc tính id
chứa giá trị tương ứng được truy xuất.
Để truy xuất theo class, ta sẽ thực hiện đánh dấu thăng #
sau đó ghi liền kề giá trị id mong muốn
Một thẻ, chỉ nên có một id duy nhất
Sử dụng tương tự class
Ví dụ:
Thẻ p có id là mindx
Còn rất nhiều cá cú pháp khác, hãy tìm hiểu thêm để mở rộng kiến thức
Như định nghĩa, Internal CSS là viết mã nguồn CSS trong file HTML, sử dụng cú pháp Selector để truy xuất và định nghĩa thuộc tính CSS.
Để sử dụng Internal CSS, ta sẽ sử dụng thẻ style
, viết trong phần thẻ head của văn bản HTML.
Sau đó bên trong thẻ này, ta sẽ sử dụng các cú pháp Selector để thực hiện style cho các thẻ HTML.
Ví dụ:
Trong thực tế, ít khi lập trình viên sử dụng cách này, vì khó quản lý mã nguồn. Mà sẽ sử dụng External CSS.
Như định nghĩa, External là viết, sử dụng mã nguồn CSS từ nơi khác, sử dụng liên kết từ file HTML để sử dụng.
Để tạo một file chứa mã nguồn CSS, tương tự như cách tạo file HTML đã được học, ta sẽ tạo một file tên là style.css
Bên trong này, viết các đoạn mã nguồn CSS tương tự như Internal CSS.
Tuy nhiên, mã nguồn chưa hề được áp dụng, bởi ta mới tạo file thôi, chưa có sự liên kết file html và css
Để liên kết file style.css
với file html, trong thẻ head, ta sẽ thêm một thẻ <link /> và sử dụng như sau:
Với:
rel: là giá trị thể hiện rằng quan hệ của file liên kết có giá trị là stylesheet - định nghĩa style cho thẻ
href: đường dẫn truy cập tới mã nguồn
Như ví dụ trên, ./ thể hiện truy cập tới file, hoặc folder nằm cùng cấp với file html
Sau khi liên kết thành công, giao diện chắc chắn sẽ được cập nhật với liên kết tới mã nguồn CSS
Nên sử dụng extension Live server, để trang web tự thực hiện reload lại trang web mỗi khi có thay đổi
Độ ưu tiên trong CSS (CSS specificity) là một khái niệm quan trọng quyết định quy tắc nào sẽ được áp dụng khi có nhiều quy tắc CSS cùng áp dụng cho một phần tử.
Độ ưu tiên sẽ lần lượt theo thứ tự Selector từ cao nhất như sau:
Inline Styles: tức viết CSS ngay trên thẻ HTML với thuộc tính style
ID Selector: tức sử dụng selector theo id
Class Selector: tức sử dụng selector theo class
Element Selector: tức sử dụng selector với tên thẻ
Khi độ ưu tiên bằng nhau, quy tắc CSS được định nghĩa sau cùng trong mã CSS sẽ được áp dụng.
Ví dụ: Với đoạn mã trên, đoạn văn sẽ có màu xanh blue
vì quy tắc cuối cùng được áp dụng.
!important
là một từ khóa có thể được thêm vào một quy tắc CSS để làm cho quy tắc đó có độ ưu tiên cao nhất, bất kể các quy tắc khác có độ ưu tiên như thế nào.
Khi một quy tắc CSS được đánh dấu với !important
, nó sẽ ghi đè tất cả các quy tắc khác, trừ khi một quy tắc khác cũng có !important
và có độ ưu tiên cao hơn (theo cách tính thông thường).
Ví dụ:
Không lạm dụng: !important
nên được sử dụng rất hạn chế, chỉ khi thật sự cần thiết để ghi đè một quy tắc mà không thể thay đổi được. Lạm dụng !important
có thể dẫn đến mã CSS khó duy trì và khó dự đoán.
Kiểm tra và sửa chữa: Nếu bạn phải sử dụng !important
thường xuyên, điều này có thể cho thấy có vấn đề trong tổ chức mã CSS và nên được kiểm tra lại.
Trên đây là những kiến thức căn bản nhất về CSS, hãy tích cực tìm hiểu thêm những thuộc tính mới để mở rộng kiến thức