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.html
index.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.