- vừa được xem lúc

[HTML] Bài 4 - Các Thẻ Container

0 0 13

Người đăng: Thịnh Trần

Theo Viblo Asia

Trong bài này thì chúng ta sẽ nói về các thẻ HTML được gọi chung chung là container (dịch nôm na có nghĩa là thùng chứa) và công dụng của các thẻ này.

Vậy container có nghĩa là một cái gì đó có chứa một cái gì đó khác ở bên trong nó.
Hình như <p></p> mà chúng ta đã biết có thể chứa các phần tử khác như các liên kết và hình ảnh.
<a></a> cũng có thể làm điều tương tự.

Đúng là như vậy rồi. Tuy nhiên trong bài này chúng ta sẽ nói về những container lớn hơn kìa. Những container này sẽ không mô tả kiểu nội dung đặc trưng như văn bản hay hình ảnh, mà thay vào đó lại được sử dụng để nhóm các phần tử HTML khác thành các phần của trang web. Ví dụ như: thanh điều hướng, khu nội dung chính, chân trang, ...

Và dưới đây là những thẻ container phổ biến mà bạn có thể chọn để cấu trúc trang web của mình:

1| <nav></nav> - Tên viết đầy đủ là navigation. Đại ý nói là bạn có thể dùng thẻ này để nhóm các liên kết điều hướng chính của website.
Bạn có thể có nhiều hơn 01 thanh điều hướng trong một trang web và người ta thường dùng thẻ này cho thanh điều hướng chính ở đầu trang, thanh điều hướng phụ ở bên cạnh, và cả chỉ mục của một bài viết nữa.

2| <header></header> - Container này được sử dụng để nhóm các nội dung giới thiệu.
Như chúng ta thường thấy thì sẽ là tiêu đề cỡ chữ lớn và một đoạn chữ mô tả, logo, rồi các thứ liên quan tới thương hiệu của trang web...

3| <article></article> - Là một article, một bài viết hoàn chỉnh.
Một article được W3C định nghĩa là một khối nội dung hoàn chỉnh, độc lập, không phụ thuộc vào bất kỳ thành phần nào khác trong trang. Ví dụ như: một bài blog, một cái post FB, ...

4| <section></section> - Có nghĩa là một phân đoạn, là một khối nội dung không được đầy đủ như article.
Thẻ này thường được dùng để tạo ra các trích đoạn giới thiệu ngắn về các bài viết bao gồm một tiêu đề, vài dòng chữ mô tả, và một cái link Xem thêm.

5| <main></main> - Nếu như một trang đơn không phải là một article và có chứa một danh sách các trích đoạn giới thiệu thì chúng ta nên nhóm tất cả các section đó bằng main.

6| <aside></aside> - Mình đoán là bạn đã từng nhìn thấy nhiều trang web có một cột điều hướng nhỏ được đặt ở bên cạnh khu vực hiển thị nội dung chính. Là nó đấy. Chính container này.

7| <footer></footer> - Một khối nội dung được đặt ở chân trang web.

8| <div></div> - Viết đầy đủ là division nghĩa là chia tách. Thẻ này không có ý nghĩa gì đối với cấu trúc trang web của bạn. Tuy nhiên đây lại là container được sử dụng nhiều nhất. Khi mà bạn không biết nên lựa chọn container nào trong số đã liệt kê trước đó thì đây chính là lựa chọn đơn giản nhất.

Xem các container hoạt động nào

Hãy lấy ví dụ là chúng ta đang tạo ra một trang web đơn giản có vài liên kết điều hướng ở trên cùng, một vài section để giới thiệu gì đó, và một footer ghi thông tin bản quyền sáng tạo. Chúng ta cũng giả định luôn là thanh điều hướng sẽ có màu nền tối và chữ màu trắng, các section thì được đặt trên một hình nền đẹp, và phần footer cũng sẽ có màu nền tối đi kèm chữ trắng.

Tới đây thì mã HTML của chúng ta sẽ trông có dạng như thế này.

HTML

<nav> <a href="#">A T R E E</a> <a href="#about">About</a> <a href="#work">Work</a> <a href="#contact">Contact</a>
</nav> <main> <section id="about"> <h1>Hi! I'm a tree.</h1> <p>I love light, earth and water.</p> </section> <section id="work"> <h2>I'm an oxygen producer.</h2> <p>I produce oxygen to make life better.</p> </section> <section id="contact"> <h2>You can find me somewhere outhere.</h2> <p>Yes, I also have an email address: _@.com</p> </section>
</main> <footer> Copyright Nature @ Universe
</footer>

Kết quả các thẻ HTML container

Kết quả hiển thị trên trình duyệt của bạn tốt chứ? Nếu không giống như trong hình minh họa ở phía trên thì... chắc chắn đó là lỗi của mình rồi. 😄
Thật xin lỗi bạn. Mình quên chưa nói cho bạn biết rằng những thẻ container này sẽ chỉ đơn giản là nhóm các phần tử HTML khác với nhau chứ không tạo ra hiệu ứng hiển thị gì khác cả.

Bạn hãy thêm dòng mã này vào phần đầu của trang đơn và làm mới Tab trên trình duyệt web xem thế nào nhé.

<link rel="stylesheet" href="https://codenart.github.io/css/atree.css">

Lần này thì thế nào? Bạn có nhìn thấy phép màu nào đã xảy ra không? 😄
Đó là CSS!

CSS là cái gì? Tại sao chúng ta lại cần CSS?

Có một vài điều rất quan trọng mà mình muốn nói với bạn ngay từ bài viết đầu tiên nhưng kỳ thực là tại vì mình đãng trí quá nên quên mất.

HTML chỉ có thể giúp chúng ta nói với trình duyệt hiển thị những cái gì.
Còn về việc bảo trình duyệt trình bày những nội dung đó như thế nào thì chúng ta lại cần tới sự hỗ trợ của CSS nữa.
CSS cũng là một ngôn ngữ rất đơn giản được thiết kế để giúp chúng ta nói chuyện được với các trình duyệt web thôi.
Không có gì cao siêu cả đâu.

Và bởi vì hiện tại bạn đã biết những thẻ HTML phổ biến, đây chính là thời điểm hoàn hảo để chúng ta bắt đầu học CSS. Các bài viết về HTML của mình vẫn sẽ được tiếp tục. Tuy nhiên thì mình khuyến khích bạn sử dụng ở dạng tham khảo thông tin khi cần thiết chứ không cần đọc tuần tự hết đâu. Bởi vì như vậy bạn sẽ cảm thấy nhàm chán lắm, mình hứa đấy. 😄

Việc học HTML chỉ có vậy thôi. Thử một vài thẻ HTML và làm mới Tab trên trình duyệt web.
Còn học CSS thì lại khác. Chúng ta sẽ thử một vài code CSS và làm mới Tab trên trình duyệt web.

Ồ. Từ từ đã... dường như việc học CSS cũng không hẳn là có gì khác lắm so với HTML. 😄
Nhưng mà mình hứa với bạn là học CSS sẽ vui hơn nhiều.

Còn một điều quan trọng nữa mà mình muốn nói với bạn về HTML container.
Cho mình xin thêm 30s để hoàn thành bài hướng dẫn này đã nhé. Sau đó chúng ta sẽ bắt đầu bài học CSS đầu tiên.

Những container lớn nhất

Đúng vậy, có một vài container đặc biệt mà mình đã không nói đến trong phần đầu tiên.
Bạn hãy thực hiện thao tác này:

  • Tạo một tệp HTML mới.
  • Đưa cho Atom thần chú mới này: ht

Poof!

<!doctype html>
<html> <head> <meta charset="utf-8"> <title></title> </head> <body> </body>
</html>

Đây là biểu mẫu HTML cơ bản và là được sử dụng làm tiêu chuẩn cho bất kỳ văn bản HTML nào.

Những ví dụ trước đó của chúng ta đều hoạt động tốt là bởi vì các trình duyệt web hiện đại đều có một tính năng thông minh tự động giúp chúng ta áp dụng biểu mẫu này và đặt tất cả nội dung vào bên trong <body></body>.

<head></head> được sử dụng để nhóm các phần tử HTML cung cấp các thông tin bổ sung liên quan tới trang web của chúng ta cho các trình duyệt. Những phần tử này sẽ không được hiển thị trên trang web nhưng sẽ âm thầm giúp ích cho chúng ta.

Kế đến là một cặp thẻ <title></title> giúp chúng ta đặt tên cho trang đơn và hiển thị tên này trên Tab.

<html></html>container gốc của văn bản HTML. Chỉ là một cái gì đó giống với một cái <div></div> mà thôi. Không có gì đặc biệt đâu.

<!doctype html>, phần tử này giúp chúng ta nói với trình duyệt là: văn bản này là HTML. Chúng ta không cần phải lần mò chi tiết về thẻ này đâu. Câu chuyện của nó thuộc về lịch sử của các ngôn ngữ đánh dấu. Tốt nhất là chúng ta cứ nên để yên cái lịch sử đó ở phần đầu của các văn bản HTML là được.

Bài hướng dẫn của chúng ta về HTML container đã xong xuôi rồi. Hãy nghỉ giải lao một chút và bắt đầu bài học CSS đầu tiên nhé.

Ludovico Einaudi - The Mountain

(Sắp đăng tải) [CSS] Bài 1 - CSS Là Cái Gì?

(Sắp đăng tải) [HTML] Bài 5 - Danh Sách & Bảng

Bình luận

Bài viết tương tự

- vừa được xem lúc

Một số quy tắc và name class phổ biến cho Front-end Dev

Trong CSS, các thủ tục setting đóng vai trò to lớn, nhưng bên cạnh đó, cách đặt tên theo các từ đơn sao cho phù hợp cũng quan trọng không kém . Đặt tên rất khó, nhưng cũng rất quan trọng .

0 0 91

- vừa được xem lúc

2021, chúng ta cần tối ưu hóa việc tải hình ảnh trên web như nào?

Rất chào các bạn,. Như các bạn đã biết, trong kỉ nguyên công nghệ, song song với sự sinh ra dày đặc của các trang web mới cũng là sự biến mất của những trang web "lạc hậu" hay hoạt động kém hiệu quả.

0 0 56

- vừa được xem lúc

Tài nguyên nghiên cứu sâu Html

1. Articles and standards. . HTML 5.

0 0 196

- vừa được xem lúc

Tìm hiểu về Event.preventDefault(), Event.stopPropagation() và Event.stopImmediatePropagation()

Chúng ta thương thấy 3 method này và có thể dẫn dến bối rối và nhầm lẫn giữa chúng:. . Event.preventDefault().

0 0 50

- vừa được xem lúc

Vanilla JS Project: Tính tuổi

1. Yêu cầu.

0 0 72

- vừa được xem lúc

Thủ thuật nhỏ để căn chỉnh image với object-fit

Chào các bạn,. Có lẽ trong hành trình code của các bạn thì không ít lần gặp vấn đề méo ảnh do fix cứng cả width, height của ảnh nhỉ? Hoặc kể cả khi bạn set value cho 1 thuộc tính weigth hoặc height còn thuộc tính còn lại để auto thì nhiều lúc ảnh cũng không được hiển thị toàn vẹn cho lắm.

0 0 48