☰
👤
⌂ GAME HOT TIN HỌC 10 TIN HỌC 11 TIN HỌC 12 TRỢ LÝ TÀI NĂNG HỌC TẬP ONLINE TỐT NGHIỆP THPT LIÊN HỆ
DANH MỤC ×

CHỦ ĐỀ 5. PHẦN MỀM CSS (BGĐT)

CHỦ ĐỀ 5. PHẦN MỀM CSS

BÀI 13. KHÁI NIỆM, VAI TRÒ CỦA CSS

1. Khái niệm và Vai trò

CSS (Cascading Style Sheets):

Là ngôn ngữ định dạng dùng để thiết lập cách hiển thị của các phần tử HTML.

Vai trò:

Tách biệt nội dung (HTML) và hình thức (CSS). Giúp định dạng trang web thống nhất, tiết kiệm công sức (viết một lần dùng nhiều lần) và dễ bảo trì.

2. Cấu trúc một mẫu định dạng CSS

Cấu trúc gồm 2 phần chính: Bộ chọn (Selector) và Vùng mô tả (Declaration block).

Cú pháp:

 Bộ_chọn {
  thuộc_tính: giá_trị;
  thuộc_tính: giá_trị;
 }

Ví dụ:

Giả sử em muốn tất cả các thẻ tiêu đề <h1> đều có màu đỏ và cỡ chữ lớn.

  • Bộ chọn (Selector): h1 (Chọn tất cả thẻ h1).
  • Thuộc tính (Property): color (Màu sắc) và font-size (Cỡ chữ).
  • Giá trị (Value): red (Đỏ) và 50px.
  • Đoạn mã css sẽ viết là:

3. Ba cách nhúng CSS vào trang web

CSS nội tuyến (Inline):

Dùng thuộc tính style ngay trong thẻ HTML. Ví dụ:

<h1 style="color: blue;">Xin chào các em</h1>

CSS trong (Internal):

Viết trong cặp thẻ <style>...</style> đặt trong phần <head> của trang HTML. Ví dụ:

CSS ngoài (External):

Viết trong tệp riêng (.css) và liên kết qua thẻ <link> trong phần <head>. Cách này tối ưu nhất cho website lớn. Ví dụ:

 + Tệp 1: style.css (Chỉ chứa mã CSS)
  h1 {
   color: blue;
  }

 Lưu ý quan trọng:

Trong file .css riêng biệt, em tuyệt đối không được viết cặp thẻ <style>...</style>. Cặp thẻ đó chỉ dùng khi viết CSS nằm trong file HTML.

 + Tệp 2: index.html (Chứa mã web và đường dẫn liên kết).

Nên chọn loại css nào?

  • Nếu chỉ muốn sửa nhanh 1 dòng: Dùng Inline.
  • Nếu làm bài tập nhỏ gói gọn 1 file: Dùng Internal.
  • Nếu làm website thật sự: Dùng External (tối ưu nhất cho website lớn).

TRẢ LỜI CÂU HỎI TRẮC NGHIỆM BÀI 13

Câu 1: Ngôn ngữ CSS (Cascading Style Sheets) được sử dụng để thực hiện chức năng chính nào trên trang web?

Câu 2: Trong thiết kế web hiện đại, CSS đóng vai trò gì trong mối quan hệ với HTML?

Câu 3: Một mẫu định dạng CSS chuẩn được cấu tạo từ hai phần chính nào?

Câu 4: Khi viết mã CSS, vùng mô tả (Declaration block) luôn được đặt bên trong cặp dấu nào?

Câu 5: Phương pháp nào sau đây nhúng trực tiếp thuộc tính CSS vào ngay trong thẻ HTML?

Câu 6: Trong đoạn mã CSS h1 { color: red; }, thành phần nào đóng vai trò là "Bộ chọn"?

Câu 7: Sự khác biệt cốt lõi khi sử dụng thẻ <style> trong phương pháp CSS trong (Internal) là gì?

Câu 8: Khi làm một website thật sự với nhiều trang, phương pháp nhúng CSS nào là tối ưu nhất?

Câu 9: Bạn chỉ muốn sửa nhanh màu sắc cho một dòng văn bản duy nhất. Bạn nên dùng phương pháp CSS nào?

Câu 10: Bạn có một tệp style.css và muốn liên kết nó vào trang index.html. Bạn dùng đoạn mã nào trong <head>?

BÀI 14. ĐỊNH DẠNG VĂN BẢN BẰNG CSS

1. Các thuộc tính văn bản quan trọng

Phông chữ (Font):

  • font-family: Loại phông (VD: Arial, Times New Roman, serif).
  • font-size: Cỡ chữ (đơn vị: px, %, em, pt).
  • font-style: Kiểu chữ (normal, italic - nghiêng).
  • font-weight: Độ đậm (normal, bold - đậm).
  • Ví dụ:

Màu sắc:

color (định dạng màu chữ). Ví dụ:

Đoạn văn bản:

  • line-height: Chiều cao dòng.
  • text-align: Căn lề (left, right, center, justify).
  • text-decoration: Trang trí (underline - gạch chân, line-through - gạch ngang, none - bỏ gạch chân liên kết).
  • text-indent: Thụt lề dòng đầu tiên.

Ví dụ 1: Căn chỉnh và khoảng cách dòng.

Ví dụ 2: Trang trí (Gạch chân/Gạch ngang) thường dùng cho link hoặc hiển thị giá cũ (gạch bỏ).

Ví dụ 3: Thụt đầu dòng, giống như khi viết văn trong vở, dòng đầu tiên thụt vào một chút.

2. Tính chất của CSS.

a) Tính kế thừa (Inheritance)

Các thẻ con sẽ thừa hưởng định dạng của thẻ cha (màu chữ, font chữ,...).

Ví dụ:

GHI NHỚ

Kế thừa:

  • Thuộc tính chữ: color, text-align, text-indent, text-decoration, text-transform, text-shadow, line-height, letter-spacing, word-spacing.
  • Danh sách: list-style, list-style-type, list-style-position, list-style-image.
  • Thuộc tính font: font-size, font-family, font-style, font-weight, font-variant.
  • Cursor: cursor.
  • Visibility: visibility (khác với display, display không kế thừa).

Không kế thừa:

  • Kích thước và bố cục: width, height, max-width, max-height, min-width, min-height.
  • Màu nền: background, background-color, background-image.
  • Viền: border, border-radius, outline.
  • Vị trí: position, top, bottom, left, right, z-index.
  • Hiệu ứng: box-shadow, filter.
  • Hiển thị - bố cục: display, float, clear, overflow.
  • Margin & padding: margin, padding
  • Transform & opacity: transform, opacity.

b) Tính ưu tiên (Cascading)

Nếu một phần tử có nhiều mẫu định dạng mâu thuẫn nhau, trình duyệt sẽ chọn mẫu "mạnh nhất" hoặc mẫu viết sau cùng.

Ví dụ:

GHI NHỚ

  • Ai đến sau thì thắng: Nếu cách gọi giống hệt nhau, dòng code nào nằm dưới cùng sẽ được áp dụng (ghi đè lên cái cũ).
  • Ai gần hơn thì thắng: Lệnh viết bên trong thẻ HTML (Inline) sẽ thắng lệnh viết ở nơi khác.

TRẢ LỜI CÂU HỎI TRẮC NGHIỆM BÀI 14

Câu 11: Trong CSS, thuộc tính nào được sử dụng để chỉ định loại phông chữ (ví dụ: Arial) cho văn bản?

Câu 12: Để thiết lập độ đậm cho chữ (ví dụ: in đậm), ta sử dụng thuộc tính CSS nào?

Câu 13: Thuộc tính color trong CSS có tác dụng định dạng yếu tố nào của văn bản?

Câu 14: Để căn đều hai biên cho một đoạn văn bản, thuộc tính text-align cần nhận giá trị nào?

Câu 15: Tính chất "kế thừa" (Inheritance) trong CSS mang ý nghĩa như thế nào đối với các thẻ lồng nhau?

Câu 16: Để làm cho dòng đầu tiên của đoạn văn bản thụt lề vào một chút, ta dùng thuộc tính nào?

Câu 17: Nhóm thuộc tính nào sau đây KHÔNG hỗ trợ tính kế thừa trong CSS?

Câu 18: Theo quy tắc tính ưu tiên (Cascading), khi có hai định dạng mâu thuẫn cho cùng một thẻ, trình duyệt sẽ chọn thế nào?

Câu 19: Bạn muốn bỏ gạch chân mặc định của các thẻ liên kết <a>. Đoạn mã CSS nào sau đây là đúng?

Câu 20: Có thẻ cha <div> màu đỏ, bên trong là thẻ con <p> có Inline CSS màu xanh. Màu hiển thị của <p> sẽ là gì?

BÀI 15. TẠO MÀU CHO CHỮ VÀ NỀN

1. Hệ màu trong CSS

a) Tên màu tiếng anh: red, blue, green...

Cách dùng: Gọi thẳng tên Tiếng anh của màu.

Ví dụ:

 h1 {
  color: red; /* Màu đỏ */
 }
 p {
  color: skyblue; /* Màu xanh da trời */
 }

  • Ưu điểm: Dễ nhớ, dễ đọc.
  • Nhược điểm: Số lượng màu hạn chế, không chỉnh được độ đậm nhạt chi tiết.

b) Hệ RGB: rgb(r, g, b) với giá trị từ 0-255.

Cách dùng: rgb(đỏ, xanh lá, xanh dương)

Giá trị: Chạy từ 0 (tắt đèn) đến 255 (bật sáng hết cỡ).

Ví dụ: Để có màu đỏ thuần khiết, bật đèn Đỏ max (255) và tắt 2 đèn kia (0).

 h1 {
  color: rgb(255, 0, 0); /* Màu đỏ */
 }

Mẹo: Nếu cả 3 số bằng nhau rgb(100, 100, 100), nó sẽ ra màu Xám.

c) Hệ Hex: #RRGGBB (Hệ thập lục phân).

Cách dùng: #RRGGBB

Quy tắc: Thay vì dùng số 0-255, nó dùng mã từ 00 đến FF. (Trong đó FF tương đương với 255).

Ví dụ:

+ Đỏ (R) = 255 = FF

+ Xanh lá (G) = 0 = 00

+ Xanh dương (B) = 0 = 00

+ Gộp lại ta có:

 h1 {
  color: #FF0000; /* Màu đỏ */
 }

Ứng dụng: Đây là mã màu phổ biến nhất mà các designer thường gửi cho lập trình viên.

d) Hệ HSL: Hue (sắc thái), Saturation (độ bão hòa), Lightness (độ sáng).

Hue (Sắc thái): Là vòng tròn màu từ 0 đến 360 độ. (0 là đỏ, 120 là xanh lá, 240 là xanh dương).

Saturation (Độ bão hòa): Độ tươi của màu. 0% là xám xịt, 100% là màu tươi rói.

Lightness (Độ sáng): 0% là đen thui, 100% là trắng toát, 50% là màu chuẩn.

Ví dụ:

 h1 {
  color: hsl(0, 100%, 50%); /* Màu đỏ */
 }

Tại sao nên dùng HSL? Nếu sếp bảo: "Em ơi, màu đỏ này chói quá, làm nó nhạt đi một chút", em chỉ cần giảm Lightness hoặc Saturation xuống (ví dụ: hsl(0, 100%, 40%)) mà không cần phải tính toán lại 3 con số rắc rối như RGB.

2. Các bộ chọn kết hợp:

a) E F (Cách nhau bởi dấu cách)

Chọn F là con cháu của E (bên trong E ở bất kỳ cấp nào).

Ví dụ:

b) E > F

Chọn F là con trực tiếp của E.

Ví dụ:

c) E + F

Chọn F là em liền kề ngay sau E (cùng cha).

Ví dụ:

d) E ~ F

Chọn F là em của E (nằm sau E, cùng cha, không cần liền kề).

Ví dụ:

GHI NHỚ

  • E F: Con cháu (Gia phả) - Tất cả bên trong (con, cháu...)
  • E > F: Con trực tiếp (Ruột thịt) - Chỉ cấp con đầu tiên
  • E + F: Em liền kề (Sát vách) - Duy nhất 1 phần tử ngay sau
  • E ~ F: Em cùng cấp (Các em) - Tất cả các phần tử phía sau

TRẢ LỜI CÂU HỎI TRẮC NGHIỆM BÀI 15

Câu 21: Nhược điểm lớn nhất khi sử dụng tên màu tiếng Anh (ví dụ: red, blue) trong CSS là gì?

Câu 22: Hệ màu RGB trong CSS yêu cầu giá trị của mỗi màu đỏ, xanh lá, xanh dương nằm trong khoảng nào?

Câu 23: Trong hệ màu Hex (thập lục phân), mã màu bắt buộc phải bắt đầu bằng ký tự nào?

Câu 24: Hệ màu HSL được xây dựng dựa trên ba thông số chính là: Hue (sắc thái), Saturation (độ bão hòa) và gì?

Câu 25: Bộ chọn kết hợp nào dùng để chọn tất cả F là con, cháu (bên trong E ở bất kỳ cấp nào)?

Câu 26: Khi sử dụng hệ màu RGB, nếu ta thiết lập cả 3 giá trị bằng nhau (ví dụ: rgb(100, 100, 100)), màu sắc thu được sẽ là gì?

Câu 27: Trong hệ màu Hex #RRGGBB, giá trị FF tương đương với mức giá trị nào bên hệ thập phân?

Câu 28: Tại sao trong thiết kế thực tế, lập trình viên thường thích sử dụng hệ màu HSL hơn khi muốn tinh chỉnh độ nhạt của một màu?

Câu 29: Bạn muốn tạo màu đỏ thuần khiết bằng hệ màu Hex. Mã màu nào sau đây là chính xác?

Câu 30: Bạn có mã HTML <div> <p>Text</p> </div>. Bạn muốn định dạng riêng thẻ <p> nằm trực tiếp trong <div>. Bạn dùng bộ chọn nào?

BÀI 16. ĐỊNH DẠNG KHUNG

1. Phân loại phần tử

a) Phần tử khối (Block)

Chiếm toàn bộ chiều rộng, bắt đầu dòng mới.

  • Các phần tử khối thường dùng: <div> (phổ biến nhất), <p> (đoạn văn), <h1> đến <h6> (tiêu đề), <ul> (danh sách không thứ tự), <ol> (danh sách có thứ tự), <li> (mục danh sách), <form>, <table>, <header>, <footer>,...

Ví dụ:

b) Phần tử nội tuyến (Inline)

Chỉ chiếm chiều rộng nội dung, không xuống dòng.

  • Các phần tử nội tuyến thường dùng: <span> (phổ biến nhất), <a> (liên kết), <strong> (in đậm quan trọng), <em> (in nghiêng nhấn mạnh), <b> (in đậm), <i> (in nghiêng), <br> (ngắt dòng), <img>, <input>, <button>, <label>, <textarea>, <select>,...

Ví dụ:

Lưu ý:

Có thể đổi loại bằng thuộc tính display: block; hoặc display: inline;.

2. Thiết lập định dạng khung bằng CSS: Cấu trúc một phần tử từ trong ra ngoài:

  • Content: Nội dung.
  • Padding: Vùng đệm (khoảng cách từ nội dung đến viền).
  • Border: Đường viền.
  • Margin: Lề (khoảng cách từ viền đến các phần tử khác).

Ví dụ:

3. Một số bộ chọn đặc biệt của CSS

a) Thiết lập bộ chọn là một lớp các phần tử có ý nghĩa gần giống nhau.

- Mục đích: Dùng khi muốn áp dụng cùng một kiểu hiển thị (màu sắc, phông chữ...) cho nhiều phần tử khác nhau (có ý nghĩa tương đồng) trên cùng một trang web.

- Cú pháp trong CSS: .ten-class { thuộc tính: giá-trị; }

- Cách dùng trong HTML: Thêm thuộc tính class="ten-class" vào thẻ HTML.

- Một số định dạng thường gặp:

 .test: Chọn tất cả thẻ có class là "test".

 .test.warning: Chọn thẻ có đồng thời cả 2 class "test" và "warning".

 p.test: Chỉ chọn thẻ <p> có class là "test" (thẻ <div> hay <span> có class "test" sẽ không bị ảnh hưởng).

Ví dụ:

- Giải thích chi tiết:

 + Tại sao dùng .hop-tin? Cả 3 hộp đều cần bo góc và phông chữ giống nhau. Thay vì viết lại 3 lần, ta gom vào class .hop-tin.

 + Tại sao HTML lại viết class="hop-tin thanh-cong"? Đây là cách dùng đa lớp (multi-class). Thẻ div này sẽ nhận tất cả tính chất của .hop-tin (để bo góc) và nhận thêm tính chất của thanh-cong (để có màu xanh).

 + Tính linh hoạt: Nếu ngày mai chúng ta muốn tất cả các thông báo chữ to hơn, ta chỉ cần sửa trong CSS của .hop-tin một lần duy nhất, tất cả 3 hộp sẽ tự động to lên.

b) Thiết lập bộ chọn riêng cho từng phần tử riêng biệt có mã định danh id

- ID là gì? Là một cái tên định danh duy nhất trên một trang web, một id chỉ được xuất hiện đúng một lần.

- Ký hiệu trong CSS: Để chọn một ID, chúng ta bắt buộc phải dùng dấu thăng (#) đặt trước tên ID.

- Cú pháp: #tên_id { thuộc tính: giá-trị; }

Ví dụ:

Lưu ý sự khác biệt của hai cách viết:

#home: Chọn bất kỳ cái gì có id là home.

p#home: Chỉ chọn thẻ p có id là home (nếu lỡ đặt id home cho thẻ div, nó sẽ không nhận style này).

c) Thiết lập bộ chọn thuộc tính CSS

- Cách hoạt động:

 + thẻ [tên-thuộc tính]: Chọn tất cả các thẻ có chứa thuộc tính này.

 + thẻ [tên-thuộc-tính="giá-trị"]: Chọn chính xác thẻ có thuộc tính mang giá trị cụ thể.

Ví dụ: Giả sử chúng ta có các đường link trên trang web:

- Giải thích:

 + Link Google: Vì có href nên trình duyệt sẽ vẽ khung màu xanh quanh nó.

 + Link Facebook: Có href => Nhận khung màu xanh và có target="_blank" => Chữ chuyển sang màu đỏ và in đậm.

 + Link chưa có đích đến: Không có thuộc tính nào được CSS gọi tên, nên nó hiển thị như văn bản bình thường.

TRẢ LỜI CÂU HỎI TRẮC NGHIỆM BÀI 16

Câu 31: Phần tử khối (Block) trong HTML có đặc điểm hiển thị mặc định trên màn hình như thế nào?

Câu 32: Thẻ HTML nào sau đây là ví dụ điển hình nhất và phổ biến nhất của phần tử khối (Block)?

Câu 33: Phần tử nội tuyến (Inline) có đặc điểm gì về chiều rộng khi hiển thị?

Câu 34: Trong cấu trúc khung (Box model) của CSS, Padding là vùng đệm có khoảng cách từ đâu đến đâu?

Câu 35: Để chuyển đổi một phần tử từ dạng nội tuyến sang dạng khối, ta dùng thuộc tính display với giá trị nào?

Câu 36: Trong Box Model, thuộc tính margin được dùng để điều chỉnh khoảng cách nào?

Câu 37: Một ID trong HTML là tên định danh có đặc điểm gì nổi bật nhất trên một trang web?

Câu 38: Trong CSS, để gọi một Class (lớp), kí hiệu bắt buộc nào phải đặt trước tên lớp đó?

Câu 39: Khi bạn thiết lập width: 300px; cho một thẻ <b> (nội tuyến), kết quả trên trang web sẽ ra sao?

Câu 40: Bạn có mã HTML <a href="[https://google.com](https://google.com)">Link</a>. Bộ chọn nào định dạng đúng thẻ này dựa trên thuộc tính?

BÀI 17. CÁC MỨC ƯU TIÊN CỦA BỘ CHỌN

1. Kiểu bộ chọn Pseudo-class và Pseudo-element

a) Bộ chọn pseudo-class (:): Mô tả trạng thái.

 + a:hover: Khi di chuột vào liên kết.

 + a:link: Liên kết chưa xem.

 + a:visited: Liên kết đã xem.

 + Ví dụ:

Giải thích:

  • Link bình thường sẽ có màu Xanh dương.
  • Khi di chuột vào, nó sẽ chuyển sang màu Cam và In đậm (hiệu ứng hover).
  • Link nào đã bấm rồi, nó sẽ chuyển sang màu Xám để đánh dấu là "đã đọc".

b) Bộ chọn pseudo-element (::): Mô tả một phần của phần tử.

  • p::first-line: Dòng đầu tiên.
  • p::first-letter: Chữ cái đầu tiên.

Ví dụ:

2. Mức độ ưu tiên khi áp dụng CSS:

- Thứ tự từ mạnh nhất xuống yếu nhất như sau:

  • 1. !important (Mạnh nhất)
  • 2. Inline style (Rất mạnh)
  • 3. ID (100)
  • 4. Class, pseudo-class, attribute (.class, :hover, :active, :focus..., [type="text"]) (10)
  • 5. Thẻ, pseudo-element (p, div, span..., ::before, ::after, ::selection ...) (1)
  • 6. Kế thừa (yếu)
  • 7. Mặc định trình duyệt (yếu nhất)

- Ví dụ:

TRẢ LỜI CÂU HỎI TRẮC NGHIỆM BÀI 17

Câu 41: Bộ chọn Pseudo-class (Lớp giả) dùng để mô tả điều gì của một phần tử HTML?

Câu 42: Khi người dùng di chuột lướt qua một liên kết, bộ chọn pseudo-class nào được kích hoạt?

Câu 43: Bộ chọn kiểu Pseudo-element (Phần tử giả) sử dụng kí hiệu nào để viết trong CSS?

Câu 44: Trong thang mức độ ưu tiên của CSS, từ khóa nào có sức mạnh cao nhất, bất chấp mọi quy tắc khác?

Câu 45: Theo thang điểm trọng số của CSS, bộ chọn ID mang lại bao nhiêu điểm ưu tiên?

Câu 46: Tác dụng của bộ chọn pseudo-element ::first-letter đối với một đoạn văn là gì?

Câu 47: Mức độ ưu tiên của Inline style (CSS trực tiếp trong thẻ) nằm ở vị trí thứ mấy trong bảng xếp hạng?

Câu 48: Nếu có nhiều mẫu định dạng CSS có trọng số bằng nhau, quy tắc "Cascading" giải quyết xung đột như thế nào?

Câu 49: Một thẻ <p> vừa chịu tác động của bộ chọn .class (10 điểm) vừa chịu tác động của thẻ p (1 điểm). Theo thang điểm, định dạng nào sẽ hiển thị?

Câu 50: Trong một file CSS, lệnh p { color: red; } viết ở dòng trên và p { color: blue; } viết ngay dòng dưới. Chữ sẽ có màu gì?

⇧