XHTML và HTML
XHTML chính là HTML nhưng được viết dưới dạng XML. XHTML là gì? XHTML là viết tắt của E Xtensible H yperText M arkup L anguage – Ngôn ngữ đánh dấu siêu văn bản mở rộng XHTML gần như giống hệt HTML XHTML chặt chẽ hơn so với HTML XHTML là HTML nhưng được định nghĩa dưới dạng ...
XHTML chính là HTML nhưng được viết dưới dạng XML.
XHTML là gì?
- XHTML là viết tắt của EXtensible HyperText Markup Language – Ngôn ngữ đánh dấu siêu văn bản mở rộng
- XHTML gần như giống hệt HTML
- XHTML chặt chẽ hơn so với HTML
- XHTML là HTML nhưng được định nghĩa dưới dạng ứng dụng XML
- XHTML được hỗ trợ bời hầu hết tất cả các trình duyệt
Vì sao nên sử dụng XHTML?
Rất nhiều trang web trên mạng internet có mã HTML tồi.
Đoạn mã HTML sau được hiển thị tốt trên hầu hết các trình duyệt (thậm chí nó không tuân theo các quy tắc HTML):
1 2 3 4 5 6 7 8 |
<html> <head> <title>Mã HTML này không chuẩn</title> <body> <h1>HTML kém <p>Đây là một ví dụ </body> |
Hiện nay trên thế giới có rất nhiều các loại trình duyệt khác nhau. Có những loại trình duyệt chạy trên máy tính và có những loại chạy trên các thiết bị di động hoặc những thiết bị nhỏ khác. Các thiết bị nhỏ như vậy thường thiếu tài nguyên hoặc nguồn điện để có thể thông dịch được những ngôn ngữ đánh dấu được viết “không tốt”.
XML là một ngôn ngữ đánh dấu mà nội dung phải được đánh dấu một cách chính xác (theo chuẩn định dạng sẵn).
Nếu bạn muốn học về XML, hãy đọc phần Hướng dẫn về XML của chúng tôi.
XHTML đã được tạo ra bằng cách kết hợp sức mạnh của HTML và XML.
XHTML là HTML được thiết kế lại giống như XML.
Sự khác biệt giữa XHTML và HTML:
Cấu trúc
- XHTML DOCTYPE là một phần bắt buộc
- Thuộc tính xmlns trong thẻ <html> là bắt buộc
- Thẻ <html>, <head>, <title>, và <body> là bắt buộc
Thẻ trong XHTML
- Thẻ trong XHTML phải được lồng nhau đúng cách
- Thẻ trong XHTML phải luôn có thẻ đóng
- Thẻ trong XHTML phải được viết đưới dạng chữ thường
- Trang XHTML phải có một thẻ gốc
Thuộc tính trong XHTML
- Tên thuộc tính phải được viết dưới dạng chữ thường
- Giá trị của thuộc tính phải được để trong ngoặc kép
- Rút gọn thuộc tính là không được phép
<!DOCTYPE ….> là bắt buộc
Một văn bản XHTML phải có một khai báo XHTML DOCTYPE.
Tham khảo danh sách tất cả các loại XHTML Doctype.
Thẻ <html>, <head>, <title> và <body> bắt buộc phải được sử dụng, và thuộc tính xmlns trong thẻ <html> phải được thiết lập cho trang.
Ví dụ về một trang XHTML với các thẻ tối thiểu bắt buộc phải có:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Tiêu đề trang</title> </head> <body> nội dung trang </body> </html> |
Thẻ trong XHTML phải được lồng đúng cách
Trong HTML, một số thẻ có thể lồng nhau không theo thứ tự như sau:
1 |
<b><i>Đây là một đoạn văn bản viết đậm và in nghiêng</b></i> |
1 |
<b><i>Đây là một đoạn văn viết đậm và in nghiêng</i></b> |
Phải có thẻ đóng trong XHTML
Cách viết sai:
1 2 |
<p>Đây là một dòng <p>Đây là một dòng khác |
1 2 |
<p>Đây là một dòng</p> <p>Đây là một dòng khác</p> |
Thẻ rỗng cũng phải đóng
Cách viết sai:
1 2 3 |
Thẻ xuống dòng: <br> Thẻ căn ngang: <hr> Thẻ ảnh: <img src="hanhphuc.gif" alt="Hạnh phúc"> |
1 2 3 |
Thẻ xuống dòng: <br /> Thẻ căn ngang: <hr /> Thẻ ảnh: <img src="hanhphuc.gif" alt="Hạnh phúc" /> |
Thẻ trong XHTML phải viết thường
Cách viết sai:
1 2 3 |
<BODY> <P>Đây là một dòng</P> </BODY> |
1 2 3 |
<body> <p>Đây là một dòng</p> </body> |
Tên thuộc tính trong XHTML phải viết thường
Cách viết sai:
1 |
<table WIDTH="100%"> |
1 |
<table awidth="100%"> |
Giá trị thuộc tính phải để trong ngoặc kép
Cách viết sai:
1 |
<table awidth=100%> |
1 |
<table awidth="100%"> |
Rút gọn thuộc tính là không được phép
Sai:
1 |
<input type="checkbox" name="vehicle" value="Ô tô" checked /> |
1 |
<input type="checkbox" name="vehicle" value="Ô tô" checked="checked" /> |
1 |
<input type="text" name="lastname" disabled /> |
1 |
<input type="text" name="lastname" disabled="disabled" /> |
Chuyển từ HTML sang XHTML
- Thêm thẻ <!DOCTYPE> vào dòng đầu tiên của mỗi trang
- Thêm thuộc tính xmlns vào thẻ html của mỗi trang
- Thay đổi tất cả tên thẻ sang chữ thường
- Đóng tất cả các thẻ rỗng
- Thay đổi tất cả tên của các thuộc tính sang chữ thường
- Cho tất cả giá trị của các thuộc tính vào ngoặc kép