CSS (Cascading Style Sheets) là ngôn ngữ dùng để định dạng giao diện của trang web, giúp tách biệt phần giao diện và nội dung HTML.
Mỗi quy tắc CSS bao gồm:
selector {
property: value;
}
Ví dụ:
h1 {
color: blue;
font-size: 24px;
}
Mã CSS này làm cho thẻ <h1> có màu xanh và cỡ chữ 24px.
Có ba cách nhúng CSS vào HTML:
CSS được viết trực tiếp trong thẻ HTML bằng thuộc tính style.
<p style="color: red; font-size: 20px;">Văn bản màu đỏ</p>
👉 Ưu điểm: Dễ dùng, thay đổi nhanh. 👉 Nhược điểm: Khó bảo trì, không tách rời thiết kế và nội dung.
CSS được viết trong thẻ <style> bên trong <head> của HTML.
<head>
<style>
p {
color: green;
font-size: 18px;
}
</style>
</head>
👉 Ưu điểm: Quản lý dễ hơn Inline CSS. 👉 Nhược điểm: Không tái sử dụng được giữa các trang HTML khác.
CSS được lưu trong một file .css riêng và liên kết vào HTML bằng thẻ <link>.
File styles.css:
p {
color: purple;
font-size: 16px;
}
HTML sử dụng file CSS:
<head>
<link rel="stylesheet" href="styles.css">
</head>
👉 Ưu điểm: Tái sử dụng dễ dàng, giúp website gọn gàng và dễ quản lý. 👉 Nhược điểm: Cần tải thêm file CSS, có thể làm chậm trang web nếu không tối ưu.
4.1. Đơn Vị Tính: Đơn vị tính giúp xác định kích thước của phần tử, bao gồm:
Tuyệt đối (cố định, không thay đổi theo màn hình):
px(pixel): Đơn vị phổ biến nhất.p { font-size: 16px; } /* Kích thước chữ 16px */
Tương đối (thay đổi theo môi trường hiển thị):
div { width: 50%; } /* Chiếm 50% chiều rộng của phần tử cha */
% → Tính theo phần trăm của phần tử cha.em → Kích thước dựa trên phần tử cha.rem → Dựa trên kích thước mặc định của html.vw/vh → Theo chiều rộng/chiều cao màn hình.div { width: 50vw; height: 50vh; } /* Chiếm 50% màn hình */
html { font-size: 16px; }
p { font-size: 1.5rem; } /* 1.5 * 16px = 24px */
4.2. Màu Sắc Trong CSS
Có nhiều cách để định nghĩa màu sắc:
red, blue, green, …
h1 { color: red; } /* Chữ màu đỏ */
#RRGGBB (00-FF)
h1 { color: #ff0000; } /* Đỏ */
rgb(r, g, b) (0-255)
h1 { color: rgb(255, 0, 0); } /* Đỏ */
rgba(255, 0, 0, 0.5) (0-1)
h1 { color: rgba(255, 0, 0, 0.5); } /* Đỏ, trong suốt 50% */
hue, saturation, lightness)
h1 { color: hsl(0, 100%, 50%); } /* Đỏ */
Các thuộc tính dùng để xác định kích thước phần tử:
Selector dùng để chọn các phần tử HTML và áp dụng CSS.
Chọn tất cả các thẻ cùng loại.
p { color: blue; } /* Áp dụng cho tất cả thẻ <p> */
Chọn các phần tử có class cụ thể.
.red-text { color: red; }
HTML:
<p class="red-text">Chữ màu đỏ</p>
Chọn phần tử có id duy nhất.
#title { font-size: 24px; }
HTML:
<h1 id="title">Tiêu đề</h1>
Dùng dấu phẩy , để áp dụng chung CSS.
h1, h2, p { font-family: Arial; }
Chọn phần tử nằm bên trong một phần tử khác.
div p { color: green; } /* Chỉ chọn thẻ <p> bên trong <div> */
Chọn phần tử con trực tiếp (dùng >).
div > p { font-weight: bold; } /* Chỉ áp dụng cho <p> là con trực tiếp của <div> */
+): Chọn phần tử ngay sau.
h1 + p { color: red; } /* Chọn <p> ngay sau <h1> */
~): Chọn tất cả phần tử sau.
h1 ~ p { color: blue; } /* Chọn tất cả <p> sau <h1> */
5.8. Selector Thuộc Tính (Attribute Selector)
Chọn phần tử dựa vào thuộc tính của nó.
input[type="text"] { border: 1px solid black; }
^=), chứa (*=), kết thúc bằng ($=).
a[href^="https"] { color: green; } /* Link bắt đầu bằng "https" */
Chọn phần tử dựa trên trạng thái.
a:hover { color: red; } /* Đổi màu khi rê chuột */
input:focus { border-color: blue; } /* Thay đổi viền khi nhập */
Chọn một phần của phần tử.
p::first-letter { font-size: 30px; color: red; } /* Chữ cái đầu tiên */
p::before { content: "🔥 "; } /* Thêm biểu tượng trước đoạn văn */
6.1. Color
Định nghĩa màu chữ:
h1 {
color: red; /* Màu chữ đỏ */
}
Có thể sử dụng tên màu (red), mã HEX (#ff0000), RGB (rgb(255,0,0)).
6.2. Font-size
Xác định kích thước chữ:
p {
font-size: 20px; /* Cỡ chữ 20px */
}
Đơn vị có thể là px, %, em, rem.
6.3. Background-color
Thiết lập màu nền:
div {
background-color: yellow; /* Nền màu vàng */
}
Có thể sử dụng tên màu, mã HEX, hoặc RGB.
6.4. Chiều cao (Height), chiều rộng (width)
width: kích thước (px,cm,mm,em,rem...)
height: kích thước (px,cm,mm,em,rem...)
Ví dụ:
Div {
height: 100px;
width: 100px;
}
color, font-size, background-color.Bài tập thực hành:
Bài giảng này giúp bạn nắm vững kiến thức cơ bản về CSS. Hãy thực hành ngay để hiểu rõ hơn! 🚀