Học HTML, CSS từ Zero Tới Hero
- #Thẻ b và i không còn được sử dụng?
- #Phân vân không biết dùng thẻ nào?
- #Thẻ i dùng cho tên tác phẩm, thuật ngữ?
Thẻ b và i không còn được sử dụng?
Nếu tìm hiểu trên Internet, bạn sẽ thấy một số tài liệu cho rằng thẻ <b>
và thẻ <i>
không còn được sử dụng nữa và được thay thế hoàn toàn bằng thẻ <strong>
và <em>
.
Thực tế, thẻ <b>
và <i>
ra đời trước thẻ <strong>
và <em>
. Khi <strong>
và <em>
xuất hiện thì nó chỉ làm thay đổi về cách sử dụng của các thẻ này về mặt ngữ nghĩa.
Một số trang tài liệu nổi tiếng về web ngày nay không hề đề cập tới việc thẻ <b>
và <i>
đã bị loại bỏ.
Tài liệu về thẻ <b>
:
- https://www.w3schools.com/tags/tag_b.asp
- https://developer.mozilla.org/en-US/docs/Web/HTML/Element/b
Tài liệu về thẻ <i>
:
- https://www.w3schools.com/tags/tag_i.asp
- https://developer.mozilla.org/en-US/docs/Web/HTML/Element/i
Nguyên nhân của sự hiểu nhầm này chủ yếu đến từ khi có <strong>
và <em>
, khi đó các tài liệu về <b>
và <i>
được bổ sung thêm từ “deprecated”.
Historically, the
<b>
element was meant to make text boldface. Styling information has been deprecated since HTML4, so the meaning of the<b>
element has been changed.
Bản dịch:
Trong lịch sử, phần tử <b>
được dùng để làm cho văn bản in đậm. Thông tin tạo kiểu đã không được chấp nhận kể từ HTML4, vì vậy ý nghĩa của phần tử <b>
đã được thay đổi.
Trong video ở trên mình có giải thích chi tiết hơn về khả năng gây hiểu nhầm này.
Phân vân không biết dùng thẻ nào?
Cách giải quyết đơn giản như sau:
- Phân vân giữa
<b>
và<strong>
: dùng<strong>
- Phân vân giữa
<i>
và<em>
: dùng<em>
Tại sao lại có cách làm này? Bởi vì nếu đơn giản bạn chỉ muốn làm chữ in đậm hoặc in nghiêng thì có thể quyết định ngay được là dùng thẻ <b>
và <i>
. Trong tình huống bạn phân vân, khả năng cao bạn đang nghĩ về ngữ nghĩa, nội dung của bạn có thể quan trọng và cần được nhấn mạnh hơn. Vì vậy, khả năng cao dùng <strong>
và <em>
sẽ là hợp lý.
Thẻ i dùng cho tên tác phẩm, thuật ngữ?
Trong bài học về thẻ <i>
mình có đưa ra ví dụ về việc in nghiêng tên tác phẩm, thuật ngữ, v.v. Trong tình huống này dùng thẻ <i>
hoàn toàn phù hợp.
Tuy nhiên, trong HTML có thêm 2 thẻ <cite>
và <dfn>
để làm việc này với ngữ nghĩa rõ ràng hơn:
<cite>
thể hiện tên một tác phẩm như: tên cuốn sách, tên truyện, bộ phim, v.v<dfn>
thể hiện một thuật ngữ, khái niệm kỹ thuật, từ viết tắt, v.v
Tuy nhiên, trong thực tế ít khi chúng ta dùng tới các thẻ này. Vì vậy nếu bạn kỹ tính, đề cao ngữ nghĩa thì có thể sử dụng. Ngược lại, chúng ta có thể đơn giản là sử dụng thẻ <i>
.
Nhận xét