Tin học 12 – Bài 15. Tạo màu cho chữ và nền

Mục tiêu bài học

  • Kiến thức:
    • Trình bày được các thiết lập hệ thống màu sắc của CSS (RGB, HSL, tên màu).
    • Sử dụng được các thuộc tính màu sắc cơ bản (color, background-color, border).
    • Hiểu và vận dụng được bộ chọn CSS dạng tổ hợp các phần tử có quan hệ (cha-con, anh-em).
  • Năng lực:
    • Sử dụng thành thạo CSS để thiết lập màu cho chữ, nền và đường viền.
    • Phân tích được cấu trúc HTML để áp dụng bộ chọn phù hợp.
  • Phẩm chất:
    • Hình thành ý thức trách nhiệm, tính cẩn thận và thẩm mỹ khi thiết kế giao diện web.

Mức độ kiến thức và kĩ năng cần đạt

  • Nhận biết: Nhận diện được các hệ màu (RGB, Hex, HSL, tên tiếng Anh), các thuộc tính định dạng màu và cú pháp bộ chọn.
  • Thông hiểu: Giải thích được ý nghĩa các tham số trong hàm rgb(), hsl(); phân biệt được sự khác nhau giữa các loại quan hệ trong bộ chọn (con trực tiếp vs. cháu, anh em liền kề vs. anh em cùng mức).
  • Vận dụng: Viết được mã CSS để tô màu giao diện theo yêu cầu; kết hợp các bộ chọn để định dạng các phần tử cụ thể trong cấu trúc HTML phức tạp.

Hoạt động khởi động

Trong thực tế, màu sắc trên trang web giúp nội dung trở nên sinh động và dễ tiếp nhận hơn. CSS cung cấp nhiều cách để định nghĩa màu sắc.

Các định dạng màu sau có thiết lập cùng một màu hay không: rgb(128, 0, 128), #800080hsl(300, 100%, 25.1%)?

Có. Cả ba định dạng trên đều thiết lập cùng một màu (màu tím – purple). Đây là ba cách biểu diễn khác nhau của cùng một giá trị màu trong CSS.


1. Hệ thống màu của CSS

HTML và CSS hỗ trợ biểu diễn màu sắc thông qua ba cách thông dụng nhất:

a) Sử dụng tên màu (Color Names)

  • Dùng tên tiếng Anh có sẵn như: redgreenbluewhiteblack
  • Phiên bản CSS3 hiện đại hỗ trợ khoảng 140 tên màu tiêu chuẩn.
  • Phiên bản CSS2 hỗi trợ 16 tên màu như bảng:
Tin học 12 Bài 15 Các tên màu có sẵn trong CSS

b) Hệ màu RGB (Red – Green – Blue)

  • Mô hình dựa trên việc trộn 3 màu cơ bản: Đỏ (Red), Lục (Green), Lam (Blue).
  • Cú pháp hàm: rgb(r, g, b)
    • Giá trị r, g, b là số nguyên từ 0 đến 255 hoặc tỉ lệ phần trăm từ 0% đến 100%.
  • Cú pháp Hex (Thập lục phân): #rrggbb
    • rr, gg, bb là các giá trị từ 00 đến FF (trong hệ 16).
Tin học 12 - Bài 15

c) Hệ màu HSL (Hue – Saturation – Lightness)

  • Mô hình trực quan hơn với người thiết kế.
  • Cú pháp: hsl(h, s, l)
    • H (Hue – Tông màu): Giá trị từ 0 đến 360 (biểu diễn trên vòng tròn màu). 0=Đỏ, 120=Lục, 240=Lam.
    • S (Saturation – Độ bão hòa): Giá trị % (0% là xám, 100% là màu nguyên bản).
    • L (Lightness – Độ sáng): Giá trị % (0% là đen, 100% là trắng, 50% là độ sáng chuẩn).
Tin học 12 - Bài 15
Trong hệ màu RGB, màu trắng và màu đen được biểu diễn như thế nào?

Màu trắng: rgb(255, 255, 255) hoặc #FFFFFF.
Màu đen: rgb(0, 0, 0) hoặc #000000.

Trong hệ màu HSL, tham số nào quyết định màu sắc sẽ biến mất chỉ còn lại màu xám?

Đó là tham số S (Saturation). Khi S = 0%, màu sắc sẽ trở thành màu xám (tùy thuộc vào độ sáng L).


2. Thiết lập màu chữ và màu nền bằng CSS

CSS cung cấp các thuộc tính để định dạng màu sắc cho các thành phần:

  • Màu chữ: Thuộc tính color.
    • Lưu ý: Có tính kế thừa (phần tử con sẽ có màu chữ giống phần tử cha nếu không được thiết lập riêng).
  • Màu nền: Thuộc tính background-color.
  • Màu đường viền: Thuộc tính border (bao gồm border-color, border-width, border-style).
    • Ví dụ: border: 1px solid red;
    • Lưu ý: Thuộc tính border không có tính kế thừa.
Nếu thiết lập màu chữ cho thẻ body thì thẻ p bên trong có nhận màu đó không?

Có. Thuộc tính color có tính kế thừa, nên thẻ p sẽ nhận màu chữ từ thẻ body nếu thẻ p không được định nghĩa màu riêng.


3. Thiết lập bộ chọn là tổ hợp các phần tử có quan hệ

Ngoài các bộ chọn cơ bản (thẻ, class, id), CSS cho phép kết hợp các bộ chọn dựa trên mối quan hệ giữa các phần tử trong cây HTML.

Loại quan hệKý hiệuÝ nghĩaVí dụ
Quan hệ con và cháu
(Descendant)
E FChọn tất cả F nằm bên trong E (bất kể cấp độ nào).div p { color: blue; }
(Chọn mọi thẻ p trong div)
Quan hệ cha con trực tiếp
(Child)
E > FChỉ chọn F là con trực tiếp (cấp 1) của E.p > em { color: red; }
(Chỉ chọn em nằm ngay trong p)
Quan hệ anh em liền kề
(Adjacent Sibling)
E + FChọn F nằm ngay sau E và có cùng cha.em + strong { color: red; }
(Chọn strong đứng ngay sau em)
Quan hệ anh em
(General Sibling)
E ~ FChọn tất cả F nằm sau E và có cùng cha.em ~ strong { color: red; }
(Chọn mọi strong đứng sau em)
Tin học 12 - Bài 15
Sự khác biệt chính giữa bộ chọn "E F" và "E > F" là gì?

E F (Con và cháu): Áp dụng cho TẤT CẢ các phần tử F nằm bên trong E, dù F là con trực tiếp hay cháu, chắt… của E.

E > F (Con trực tiếp): Chỉ áp dụng cho các phần tử F là CON TRỰC TIẾP (cấp độ ngay phía dưới) của E.


Luyện tập

Câu 1. Hãy liệt kê mã RGB và Hex cho một số màu cơ bản (Đen, Trắng, Đỏ, Xanh lá, Xanh dương).

Dựa trên bảng chuẩn màu CSS:
– Black (Đen): rgb(0,0,0) – #000000
– White (Trắng): rgb(255,255,255) – #FFFFFF
– Red (Đỏ): rgb(255,0,0) – #FF0000
– Green (Xanh lá): rgb(0,128,0) – #008000 (Lưu ý: “Lime” mới là rgb(0,255,0))
– Blue (Xanh dương): rgb(0,0,255) – #0000FF

Câu 2. Khi nào thì các mẫu định dạng E F và E > F có tác dụng như nhau?

Hai mẫu định dạng này có tác dụng như nhau khi tất cả các phần tử F nằm trong E đều là con trực tiếp của E, tức là không có phần tử F nào nằm ở cấp độ sâu hơn (cháu, chắt…).


Vận dụng

Câu 1. Tìm ví dụ và giải thích ý nghĩa cho các mẫu định dạng CSS tổng quát sau: a) E1 E2 E3.
b) E1 > E2 > E3.

a) E1 E2 E3: Áp dụng cho phần tử E3, nếu E3 là con hoặc cháu của E2, và E2 là con hoặc cháu của E1. (Quan hệ phả hệ nhiều cấp).
b) E1 > E2 > E3: Áp dụng cho phần tử E3, nếu E3 là con trực tiếp của E2, và E2 là con trực tiếp của E1. (Quan hệ cha con trực tiếp liên tiếp).

Câu 2. Tìm ví dụ và giải thích ý nghĩa cho các mẫu định dạng CSS tổng quát sau:
a) E + F + G.
b) E > F + G.

a) E + F + G: Áp dụng cho phần tử G nếu G là phần tử liền kề ngay sau F, và F là phần tử liền kề ngay sau E. (3 phần tử anh em nằm liền kề nhau).

b) E > F + G: Áp dụng cho phần tử G nếu G là phần tử liền kề ngay sau F, và F là con trực tiếp của E.


Trắc nghiệm Tin học 12 Bài 15: Tạo màu cho chữ và nền (có đáp án & đua Top)

Thời gian làm bài: 30 phút
Đáp án hiển thị sau khi nộp bài
Câu hỏi sẽ được hiển thị ngẫu nhiên
Vui lòng nhập họ và tên để bắt đầu làm bài

NB

Phương án nào sau đây KHÔNG phải là một cách thiết lập màu sắc hợp lệ trong CSS?

NB

Trong hệ màu RGB được sử dụng trong CSS, mỗi tham số màu (Red, Green, Blue) có giá trị nguyên nằm trong khoảng nào?

TH

Giá trị màu nào sau đây biểu diễn màu trắng trong hệ thập lục phân (Hex)?

TH

Trong mô hình màu HSL hsl(h, s, l), tham số S (Saturation) có ý nghĩa gì?

NB

Thuộc tính nào sau đây được sử dụng để thiết lập màu cho văn bản (chữ) của một phần tử?

NB

Để thiết lập đường viền cho phần tử với độ rộng 1px, kiểu liền nét và màu đỏ, câu lệnh CSS nào sau đây là đúng?

TH

Phát biểu nào sau đây là đúng về tính kế thừa của các thuộc tính màu sắc trong CSS?

NB

Ký hiệu nào sau đây được sử dụng trong bộ chọn để biểu thị mối quan hệ "cha con trực tiếp"?

TH

Bộ chọn div p { color: blue; } sẽ áp dụng định dạng màu xanh cho đối tượng nào?

TH

Để chọn phần tử span nằm ngay sau phần tử img (quan hệ anh em liền kề), cách viết bộ chọn nào sau đây là đúng?

VD

Cho đoạn mã HTML:
<div>
  <h1>Tiêu đề</h1>
  <p>Đoạn văn 1</p>
  <p>Đoạn văn 2</p>
</div>

Bộ chọn CSS h1 ~ p { color: red; } sẽ có tác dụng gì?

VD

Bạn muốn định dạng màu đỏ cho thẻ em CHỈ KHI nó là con trực tiếp của thẻ p. Ví dụ: nếu thẻ em nằm trong thẻ span, mà span nằm trong p thì không bị ảnh hưởng. Bộ chọn nào sau đây giải quyết đúng yêu cầu này?

Học sinh A đang thiết kế giao diện cho một trang web và cần sử dụng các hệ màu khác nhau để tô màu cho các thành phần. A viết một đoạn CSS như sau:
h1 { color: #00FF00; }
p { color: rgb(0, 255, 0); }
div { background-color: hsl(120, 100%, 50%); }

Dưới đây là một số nhận định về tình huống trên:

NB Đoạn mã của học sinh A sử dụng đúng cú pháp của 3 hệ màu: Hex, RGB và HSL.

VD Ba phần tử h1, pdiv trong đoạn mã trên sẽ hiển thị cùng một màu (màu xanh lá cây).

TH Nếu thay đổi giá trị trong hàm hsl thành hsl(120, 0%, 50%), màu nền của thẻ div vẫn giữ nguyên sắc xanh nhưng nhạt hơn.

TH Trong hệ màu Hex, nếu học sinh A viết tắt #00FF00 thành #0F0 thì trình duyệt sẽ báo lỗi và không hiển thị màu.

Một trang web tin tức có cấu trúc HTML gồm một thẻ <div> bao quanh (container), bên trong chứa thẻ <h2> (tiêu đề) và thẻ <p> (nội dung). Người lập trình thiết lập CSS như sau:
div {
    color: blue;
    border: 2px solid black;
}

Dưới đây là một số nhận định về tình huống trên:

NB Thẻ <div> sẽ có đường viền màu đen, dày 2px và nét liền.

TH Văn bản trong thẻ <h2> và thẻ <p> sẽ tự động có màu xanh dương (blue) nhờ tính kế thừa.

TH Thẻ <h2> và thẻ <p> cũng sẽ tự động có đường viền màu đen bao quanh giống như thẻ <div>.

VD Nếu thêm thuộc tính color: red; vào thẻ <h2>, thì văn bản trong thẻ <h2> sẽ chuyển sang màu đỏ, trong khi thẻ <p> vẫn giữ màu xanh.

Cho cấu trúc HTML mô tả một danh sách như sau:
<nav>
    <ul>
        <li>Trang chủ</li>
        <li>Sản phẩm
            <ul>
                <li>Điện thoại</li>
                <li>Máy tính</li>
            </ul>
        </li>
    </ul>
</nav>

Người thiết kế muốn định dạng các mục trong danh sách bằng CSS.
Dưới đây là một số nhận định về tình huống trên:

NB Bộ chọn nav li là bộ chọn theo quan hệ con cháu (Descendant).

VD Bộ chọn nav > ul > li sẽ tác động đến tất cả các thẻ <li> có trong đoạn mã trên (bao gồm cả "Điện thoại" và "Máy tính").

TH Bộ chọn nav li sẽ chỉ chọn được các mục "Trang chủ" và "Sản phẩm", không chọn được các mục con bên trong.

VD Để chỉ định dạng riêng cho các mục cấp 2 ("Điện thoại", "Máy tính"), ta có thể dùng bộ chọn li > ul > li.

Trong một bài viết blog, cấu trúc HTML thường có một tiêu đề <h1>, theo sau là đoạn giới thiệu p class="intro", và sau đó là nhiều đoạn văn nội dung <p>.
<h1>Tiêu đề bài viết</h1>
<p class="intro">Giới thiệu ngắn...</p>
<p>Nội dung chi tiết 1...</p>
<p>Nội dung chi tiết 2...</p>

Dưới đây là một số nhận định về tình huống trên:

NB Bộ chọn h1 + p là bộ chọn theo quan hệ anh em liền kề.

TH Nếu dùng bộ chọn h1 + p { color: gray; }, chỉ có đoạn văn có class="intro" được tô màu xám.

VD Nếu dùng bộ chọn h1 ~ p { color: black; }, chỉ có các đoạn văn "Nội dung chi tiết 1" và "Nội dung chi tiết 2" được tô màu đen.

TH Bộ chọn p + p sẽ áp dụng cho tất cả các thẻ <p> trong đoạn mã trên (kể cả đoạn intro).

Bảng xếp hạng

Chưa có kết quả nào.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *