Dùng cùng nội dung để so sánh
Giải nén bộ mẫu. bai_doc.html và mau_b.html có cùng nội dung bài đọc riêng của BTVN, dùng lần lượt mau_a.css và mau_b.css. Các trang còn lại giúp thử phông chữ, đơn vị, dòng, trang trí, kế thừa, thứ tự và phần mở rộng.
Nhiệm vụ là chỉnh hai tệp CSS theo yêu cầu rồi kiểm kết quả trên cùng nội dung. Không cần tải phông hoặc dùng bài hát/bài đọc bên ngoài để hoàn thành.
Mẫu A: tiêu đề trái, đoạn có chân
```css
body { font-size: 16px; }
h1, h2 {
font-family: sans-serif;
font-size: 18px;
color: maroon;
text-align: left;
}
p {
font-family: serif;
text-align: left;
text-indent: 2em;
line-height: 1.5;
}
```
Mở bai_doc.html và kiểm: h1/h2 dùng họ không chân, cỡ 18px, màu maroon, căn trái. p dùng họ có chân và cỡ 16px nhận từ body; dòng đầu thụt 2em = 32px, chiều cao dòng 1,5 × 16 = 24px.
Các phần strong và em trong p giữ kiểu đậm/nghiêng mặc định khi CSS mẫu chưa đổi các thuộc tính ấy.
Mẫu B: thay phông, cỡ, màu và căn dòng
```css
body { font-family: sans-serif; font-size: 18px; }
h1, h2 { font-size: 20px; color: navy; text-align: center; }
p { text-align: justify; text-indent: 2em; line-height: 1.5; }
strong, em { font-size: 100%; }
```
Mở mau_b.html: h1/h2 cỡ 20px, màu navy, căn giữa. p nhận họ sans-serif và cỡ 18px từ body; dòng đầu thụt 36px, chiều cao dòng 27px, căn đều hai bên. strong và em có cỡ 100% theo cha nhưng vẫn giữ kiểu đậm/nghiêng mặc định.
Đối chiếu hai trang để thấy nội dung chữ giữ nguyên, còn định dạng thay đổi. Số dòng có thể khác do cỡ chữ, phông và độ rộng cửa sổ.
Sửa trên bản sao và kiểm từng yêu cầu
1. Mở hai HTML bằng trình soạn thảo, đối chiếu head có link đúng tới tệp CSS tương ứng. Mở hai CSS và xác định từng quy tắc cho body, h1/h2, p, strong/em.
2. Trên bản sao bai_doc.html, đổi href từ mau_a.css thành mau_b.css, lưu UTF-8 rồi tải lại. Trang phải chuyển sang cách trình bày B mà không cần sửa lời văn trong body.
3. Thử đổi riêng màu tiêu đề hoặc line-height của p, lưu rồi quan sát. Nếu p18px và line-height: 1.5 thì vẫn tính 27px; nếu thay hệ số thì tính lại từ 18px.
4. Mở các trang đơn vị, kế thừa và ưu tiên để đối chiếu với các bài trước. Thử mo_rong.html bằng cách thay một khai báo mỗi lần.
5. Kiểm lại ở cửa sổ rộng và hẹp: chữ tiếng Việt rõ, nội dung đầy đủ, đường dẫn CSS đúng và định dạng đạt yêu cầu. Giữ bản A/B ban đầu để đối chiếu khi cần tìm lỗi.
Bài luyện
Trong mẫu A, p cỡ 16px và text-indent: 2em. Độ thụt dòng đầu là gì?
2em khác 2px ở cỡ 16px.
text-indent của p không dùng cỡ tiêu đề làm mốc.
Đúng. 2 × 16 = 32.
24px là chiều cao dòng của p trong mẫu A.
Lời giải
em trong text-indent lấy cỡ chữ của chính p. Mẫu A cho p cỡ 16px, nên khoảng thụt bằng 2 × 16 = 32px.
Bài luyện
Đổi href của bản sao bai_doc.html từ mau_a.css sang mau_b.css, giữ nguyên body. Kết quả mong đợi là gì?
Đúng. Tệp định dạng và nội dung có vai trò riêng.
CSS không tự dịch lời văn.
Đổi href không xóa cấu trúc body như vậy.
Liên kết CSS không gộp các tệp thành ảnh.
Lời giải
href chọn tệp CSS được dùng để trình bày. Khi link đúng sang mẫu B, các quy tắc B có hiệu lực; nội dung HTML trong body không tự thay đổi chỉ vì đổi định dạng.
Bài luyện
Ở mẫu B, strong và em đặt font-size: 100%. Có phải vì vậy kiểu đậm và nghiêng đều bị bỏ không?
font-size không tự tắt độ đậm.
Đúng. Cỡ chữ, độ đậm và kiểu nghiêng là các thuộc tính riêng.
100% ở đây là tỉ lệ cỡ chữ so với cha.
CSS không tự xóa tên phần tử.
Lời giải
font-size: 100% làm cỡ chữ bằng cỡ cha. Mẫu không đặt lại font-weight của strong hoặc font-style của em, nên các kiểu mặc định ấy vẫn có thể hiển thị.
Đang học