Explore all courses in this category.
Explore all courses in this category.
Nguyễn Đình Cường
0 comment
09 Nov, 2026
Mở một file HTML trống ra, bạn sẽ phải tự gõ mọi thứ từ đầu. Nhiều bạn chép lại đoạn mã mẫu mà không hiểu từng dòng làm gì, đến khi trang hiển thị lỗi font hoặc vỡ trên điện thoại thì không biết sửa ở đâu. Bài này giải thích từng phần của một trang HTML chuẩn.
Đây là khung mà hầu hết trang web hiện nay đều bắt đầu từ đó:
<!DOCTYPE html>
<html lang='vi'>
<head>
<meta charset='UTF-8'>
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
<title>Trang đầu tiên của tôi</title>
</head>
<body>
<h1>Xin chào</h1>
<p>Đây là nội dung trang.</p>
</body>
</html>Chúng ta đi qua từng phần.
Dòng <!DOCTYPE html> báo cho trình duyệt biết đây là tài liệu HTML5 và hiển thị ở chế độ chuẩn. Thiếu dòng này, trình duyệt có thể chuyển sang "quirks mode" và hiển thị theo cách cũ, gây ra những khác biệt khó hiểu về kích thước và căn lề.
Thẻ <html> bao toàn bộ trang. Thuộc tính lang khai báo ngôn ngữ của nội dung. Với trang tiếng Việt, hãy đặt lang='vi'. Trình đọc màn hình dựa vào đây để chọn giọng đọc đúng, và trình duyệt dựa vào đây để gợi ý dịch trang.
Phần head không hiển thị trực tiếp lên trang, nó chứa thông tin dành cho trình duyệt và công cụ tìm kiếm.
<meta charset='UTF-8'> quy định bảng mã ký tự. Với tiếng Việt có dấu, UTF-8 là bắt buộc. Nếu quên, chữ như "ắ" hay "ữ" có thể hiện thành ký tự lạ. Hãy đặt thẻ này gần đầu head, trước thẻ title.
Thẻ viewport rất quan trọng cho giao diện trên điện thoại. Thiếu nó, trình duyệt di động giả định trang rộng khoảng 980 pixel rồi thu nhỏ lại, khiến chữ bé tí và media query không hoạt động như bạn mong đợi. Dòng width=device-width, initial-scale=1.0 bảo trình duyệt dùng đúng chiều rộng thật của thiết bị.
Thẻ <title> hiện trên tab trình duyệt và thường là tiêu đề của kết quả tìm kiếm. Hãy viết ngắn gọn, mô tả đúng nội dung. Bạn cũng có thể thêm mô tả:
<meta name='description' content='Mô tả ngắn gọn về nội dung trang.'>Công cụ tìm kiếm có thể dùng đoạn này làm phần trích dẫn, dù không đảm bảo lúc nào cũng dùng.
CSS thường được nạp trong head bằng <link rel='stylesheet' href='style.css'>. JavaScript thường đặt cuối body, hoặc đặt trong head với thuộc tính defer để không chặn việc hiển thị trang:
<script src='app.js' defer></script>Mọi thứ người dùng nhìn thấy nằm trong body. Hãy bố trí bằng các thẻ ngữ nghĩa như header, main, footer thay vì chỉ dùng div. Mỗi trang nên có đúng một thẻ h1 mô tả chủ đề chính.
img, br, meta, input.class='card'.Khi trang lớn dần, bạn sẽ gặp thêm một số thẻ khác trong head. Bạn không cần thuộc hết ngay, nhưng nên biết chúng tồn tại:
<link rel='icon' href='/favicon.ico'> hiển thị biểu tượng nhỏ trên tab trình duyệt.<link rel='canonical' href='https://example.com/trang'> cho công cụ tìm kiếm biết địa chỉ chính thức của trang khi có nhiều URL cùng nội dung.og: quyết định tiêu đề và hình ảnh hiển thị khi người khác chia sẻ liên kết lên mạng xã hội.<meta name='theme-color' content='#2563eb'> đổi màu thanh địa chỉ trên một số trình duyệt di động.Hãy nhớ rằng thứ tự trong head có ảnh hưởng nhỏ đến hiệu năng: đặt charset và viewport lên đầu, sau đó đến title, rồi mới đến các file CSS và script. Cách sắp xếp này giúp trình duyệt xử lý những thông tin quan trọng nhất trước.
Bộ khung HTML chuẩn chỉ có vài dòng nhưng mỗi dòng đều có lý do tồn tại. Khi hiểu chúng, bạn sẽ tự tin chỉnh sửa thay vì chép mã mà không biết nó làm gì, và tiết kiệm được nhiều giờ gỡ lỗi sau này.
Nếu bạn muốn đi từ những dòng HTML đầu tiên đến một website hoàn chỉnh, hãy tham khảo các khóa học lập trình web tại codebem.com.
Nguyễn Đình Cường
0 comment