Dưới đây là hướng dẫn thực hành step-by-step
.html (ví dụ: index.html).Tính năng nổi bật:
Live Server).Tải & cài:
Mẹo: phím tắt hay dùng: Ctrl+Shift+P (Command Palette), Ctrl+P (mở file nhanh), Ctrl+Shift+X (mở Extensions).
Extensions (biểu tượng 4 ô vuông hoặc Ctrl+Shift+X).my-first-site):Trong VS Code: File → Open Folder... → chọn my-first-site.
2. Trong Explorer (cột trái), click chuột phải → New File hoặc New Folder.
3. Tạo index.html bằng New File → nhập index.html.
index.htmlindex.html, gõ ! hoặc html:5 → nhấn Tab để tạo boilerplate HTML nhanh.Đoạn mã gốc của bạn (nguyên văn):
<!DOCTYPE html>
<html lang="vi">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Trang web của tôi - ví dụ ngắn gọn</title>
<meta name="description" content="Mô tả ngắn trang web — không quá 160 ký tự để hiển thị tốt trên search engine.">
<link rel="shortcut icon" href="https://hoanghamobile.com/tin-tuc/wp-content/uploads/2024/07/anh-mat-cuoi-3.jpg" type="image/x-icon">
</head>
<body>
<h1 id="title" class="demo" title="Hello title">Tiêu đề h1</h1>
<a href="https://dantri.vn" target="_blank" rel="noopener noreferrer">Go to dân trí</a>
<a href="https://facebook.com" target="_blank" rel="noopener noreferrer">Go to facebook</a>
<a href="about.html">Go to about</a>
<a href="#bottom">Go to bottom</a>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat, reiciendis!
</p>
<ul>
<li>Danh sách không thứ tự</li>
<li>Danh sách không thứ tự</li>
</ul>
<ol>
<li>Danh sách có thứ tự</li>
<li>Danh sách có thứ tự</li>
</ol>
<p>
<img width="100" src="https://hoanghamobile.com/tin-tuc/wp-content/uploads/2024/07/anh-mat-cuoi-3.jpg" alt="Ảnh mặt cười">
</p>
<h2 id="bottom">Bottom</h2>
<a href="#title">Go to top</a>
</body>
</html>
Mình sẽ giải thích theo từng khối để dễ hiểu.
<!DOCTYPE html><html lang="vi"> ... </html>lang="vi" cho biết nội dung bằng tiếng Việt (giúp trình đọc màn hình và SEO).<head> — thông tin metadata<meta charset="UTF-8" /> — mã hóa ký tự UTF-8 (bắt buộc để hiển thị tiếng Việt đúng).
<meta name="viewport" content="width=device-width, initial-scale=1.0"> — giúp hiển thị tốt trên thiết bị di động (responsive).
<title>Trang web của tôi - (không vượt quá 200 ký tự</title> — tiêu đề trang xuất hiện trên tab trình duyệt và trong kết quả tìm kiếm.
) ở cuối — nên sửa.<meta name="description" content="..."> — mô tả trang cho search engine; khuyến nghị ~150–160 ký tự (tối đa ~200 nhưng tốt nhất ≤160).
<link rel="shortcut icon" href="..."> — favicon (icon nhỏ trên tab). type="image/x-icon" chỉ định loại file.
<body> — phần hiển thị nội dung<h1 id="title" class="demo" title="Hello title">Tiêu đề h1</h1>
h1: tiêu đề lớn nhất của trang. Chỉ nên có 1 thẻ <h1> chính cho mỗi trang (SEO tốt).id="title": cho phép liên kết nội bộ (#title) hoặc CSS/JS chọn phần tử.class="demo": dùng để gắn style/selector CSS.title="Hello title": hover sẽ hiển thị tooltip (không thay thế alt/aria).Các thẻ <a href="...">:
href="https://dantri.vn": đường dẫn tuyệt đối (tới website khác).
target="_blank": mở link ở tab mới.
target="_blank" nên thêm rel="noopener noreferrer" để tránh lỗ hổng window.opener.href="about.html": đường dẫn tương đối tới file about.html trong cùng thư mục.
href="#bottom": liên kết nội bộ tới phần tử có id="bottom".
<p> ... </p>: đoạn văn bản.
<ul type="disc"> / <ol type="1">:
ul hiển thị danh sách không thứ tự; ol là danh sách có thứ tự.type từng được dùng để thiết lập kiểu đánh dấu (ví dụ disc, circle, square cho ul; 1, A, a, I, i cho ol). Hiện nay khuyến nghị dùng CSS (list-style-type) để điều khiển kiểu danh sách thay vì attribute type.<img width="100" src="..." alt="">:
src: nguồn ảnh.width="100": đặt chiều rộng (pixel) — có thể dùng CSS thay vì attribute.alt: rất quan trọng cho truy cập — nếu ảnh chỉ trang trí, để alt="", nếu ảnh truyền đạt nội dung hãy viết mô tả ngắn (ví dụ alt="bức ảnh người cười").<h2 id="bottom">Bottom</h2> và <a href="#title">Gôt top</a>:
id="bottom" là điểm nhận anchor #bottom.href="#title" quay lại phần id="title" (top of page).Tiêu đề (title): Nên viết súc tích, chứa từ khóa chính, ~50–60 ký tự tối ưu.
Meta description: ~150–160 ký tự cho hiển thị tốt trên kết quả tìm kiếm.
target="_blank" → thêm rel="noopener noreferrer".
<a href="https://example.com" target="_blank" rel="noopener noreferrer">...</a>
Ảnh: luôn có alt mô tả nếu ảnh có ý nghĩa.
Danh sách: dùng CSS list-style-type để điều khiển kiểu dấu đầu dòng:
ul { list-style-type: disc; }
ol { list-style-type: decimal; }
Chỉ 1 <h1>/trang cho SEO rõ ràng.
Kiểm tra HTML bằng các công cụ validator (W3C) nếu cần.
Bạn có thể dùng phiên bản này để học tốt hơn:
Mở folder dự án trong VS Code (File → Open Folder).
Mở file index.html.
Bấm Save (Ctrl+S) nếu mới tạo/paste.
Chạy Live Server:
index.html → chọn Open with Live Server.Ctrl+Shift+P → gõ Live Server: Open with Live Server.Trình duyệt sẽ mở tab với địa chỉ dạng http://127.0.0.1:5500/index.html hoặc http://localhost:5500/index.html.
Tự động reload: Khi bạn sửa file và lưu (Ctrl+S), Live Server sẽ tự reload trang trong trình duyệt — rất tiện để thực hành.
Dừng Live Server: bấm Port/ Go Live để toggle hoặc click biểu tượng Stop.
Cấu hình thêm: vào File → Preferences → Settings → tìm liveServer để đổi port, mở ở trình duyệt mặc định, root folder, v.v.
index.html chính xác và đã lưu save.