Giải Tin học 12 - Định hướng khoa học máy tính trang 92

Lời giải chi tiết SGK Lớp 12 · Môn Tin Học · Trang 92–93

Tóm tắt lý thuyết

Phần này thuộc Bài 16 – Định dạng khung bằng CSS. Có hai ý chính:

  1. Phân loại phần tử HTML
  • Mọi phần tử HTML đều thuộc một trong hai loại: khối (block) hoặc nội tuyến (inline).
  • Có thể dùng thuộc tính display để chuyển đổi loại phần tử. Ví dụ trong Hình 16.2, span vốn là nội tuyến được đặt display: block nên mỗi span xuống dòng riêng như một khối.
  1. Các thông số của khung (Hình 16.3) – từ trong ra ngoài:
  • Phần nội dung (content) → Vùng đệm (padding) → Khung/đường viền (border) → Lề khung (margin).
  • width (chiều rộng) và height (chiều cao) xác định kích thước phần nội dung.

Bảng 16.2 – Các thuộc tính liên quan đến khung (đều không có tính kế thừa):

Thuộc tínhÝ nghĩa
widthChiều rộng khung, chỉ áp dụng cho phần tử dạng khối
heightChiều cao khung, chỉ áp dụng cho phần tử dạng khối
paddingVùng đệm, khoảng cách từ vùng text đến đường viền ngoài
marginLề khung, khoảng cách từ đường viền ngoài đến văn bản xung quanh
border-colorMàu của viền khung
border-widthĐộ dày đường viền
border-styleKiểu đường viền: none, solid, dotted, dashed, double, inset, outset, ridge, groove
borderGán đồng thời width, style, color. VD: border: 2px solid red;

Câu 1: Yếu tố quyết định chiều rộng của phần tử nội tuyến

Đề: Chiều rộng của các phần tử nội tuyến phụ thuộc vào những yếu tố nào? Có phụ thuộc vào chiều rộng của cửa sổ trình duyệt không?

Trả lời:

  • Chiều rộng của phần tử nội tuyến (inline) phụ thuộc vào chính nội dung bên trong nó (độ dài đoạn văn bản, kích thước hình ảnh hay phần tử con mà nó chứa).
  • Phần tử nội tuyến không nhận thuộc tính width, height nên ta không thể ấn định chiều rộng cho nó. Nó tự co giãn vừa khít với nội dung.
  • Nó không trực tiếp phụ thuộc vào chiều rộng cửa sổ trình duyệt. Khi nội dung quá dài, phần tử chỉ ngắt dòng để chữ chảy xuống dòng tiếp theo, chứ bản thân hộp inline luôn ôm sát nội dung.

Vì sao: bản chất của phần tử nội tuyến là nằm trên cùng dòng văn bản (như , , ), nên kích thước được quyết định bởi nội dung, không phải bởi khung cửa sổ.

Câu 2: Khẳng định về chiều rộng phần tử khối

Đề: Khẳng định "Chiều rộng của các phần tử khối chỉ phụ thuộc vào kích thước của cửa sổ trình duyệt" là đúng hay sai?

Trả lời: Sai.

Giải thích:

  • Phần tử khối (block) chiếm trọn chiều rộng có sẵn theo mặc định, nên ban đầu trông như phụ thuộc vào cửa sổ trình duyệt.
  • Nhưng phần tử khối nhận được thuộc tính width, nên người lập trình có thể ấn định một chiều rộng cố định (ví dụ width: 200px; như khối h1 ở Hình 16.4). Khi đó chiều rộng do CSS quy định, không còn phụ thuộc cửa sổ trình duyệt.
  • Ngoài ra chiều rộng tổng thể còn chịu ảnh hưởng của padding, border, margin.

Vậy từ "chỉ" trong khẳng định là không đúng, vì còn nhiều yếu tố khác chi phối.

Phân tích đoạn mã ví dụ "Lịch sử CSS" (Hình 16.4)

Đây không phải bài tập có câu hỏi, nhưng cô phân tích để em hiểu rõ kết quả hiển thị.

Cách hiểu từng dòng:

  • h1 là phần tử khối nên nhận đủ các thuộc tính:
  • border: 5px ridge blue; → viền dày 5px, kiểu nổi gờ (ridge), màu xanh.
  • width: 200px; → ấn định chiều rộng phần nội dung 200px.
  • padding: 10px; → đệm 10px giữa chữ và viền.
  • margin: 20px; → lề 20px quanh khung.
  • Lưu ý: dòng margin: 20px; viết hai lần, dòng sau ghi đè dòng trước nhưng giá trị giống nhau nên kết quả không đổi.
  • em là phần tử nội tuyến, chỉ thiết lập được border (viền đôi 2px màu đỏ) chứ không có chiều cao, chiều rộng riêng. Vì vậy ở Hình 16.4b, tên "Håkon Wium Lie" được bao bởi một khung viền đỏ ôm sát chữ.

Điểm cần ghi nhớ: với phần tử khối, khung có đầy đủ tính chất; với phần tử nội tuyến, khung chỉ thiết lập được viền mà không có chiều cao, chiều rộng.

Chế độ đọc sách →