Home » HTML » HTML5 » Chuyển từ HTML4 sang HTML5
Ví dụ và cách chuyển một trang web được viết bằng HTML4 sang HTML5.

Chuyển từ HTML4 sang HTML5

Trong bài này, chúng ta sẽ nói về cách để chuyển một trang đang được viết theo HTML4 sang HTML5 mà không làm hỏng cấu trúc cũng như nội dung ban đầu.

Bạn cũng có thể chuyển từ XHTML sang HTML5 với cách thức tương tự.
Cách viết trong HTML4Chuyển sang HTML5
<div id="header"><header>
<div id="menu"><nav>
<div id="content"><section>
<div id="post"><article>
<div id="footer"><footer>

Trang được viết theo HTML4

Demo

Chuyển Doctype sang HTML5

Chuyển doctype từ HTML4:

sang doctype của HTML5

Chuyển bảng mã ký tự sang HTML5

Chuyển thông tin bảng mã ký tự từ HTML4:

sang HTML5:

Thêm Shiv

Các thẻ có ý nghĩa trong HTML5 được hầu hết các trình duyệt hiện đại hỗ trợ.

Thêm vào đó, bạn có thể “dạy” cho những trình duyệt cũ cách để xử lý “những thẻ mới”.

Thêm tệp tin javascript Shiv để Internet Explorer các thẻ HTML5:

Bạn có thể tìm hiểu thêm về Shiv qua bài Trình duyệt hỗ trợ HTML5

Thêm CSS cho các thẻ HTML5

Đây là CSS hiện tại trong HTML4:

Chúng ta sẽ tạo thêm CSS cho các thẻ HTML dựa trên CSS cũ:

Chuyển header, footer sang HTML5

Chúng ta sẽ chuyển thẻ <div> có id=”header”id=”footer”:

sang sử dụng thẻ <header>, <footer> của HTML5:

Chuyển sang thẻ <nav> trong HTML5

Chúng ta sẽ chuyển thẻ <div> có id=”menu”:

sang thẻ <nav> trong HTML5:

Chuyển sang thẻ <section> trong HTML5

Chúng ta sẽ chuyển thẻ <div> có id=”content”:

sang thẻ <section> trong HTML5:

Chuyển sang thẻ <article> trong HTML5

Chúng ta sẽ chuyển thẻ <div> có id=”post”:

sang thẻ <article> trong HTML5:

Tới đây, chúng ta có thể tiến hành bỏ CSS cũ

Trang đã được chuyển sang HTML5

Cuối cùng, bạn có thể bỏ thẻ <head>. Thẻ này không cần thiết trong HTML5:

Demo

Sự khác biệt giữa <article> <section> và <div>

Có một sự khác biệt hơi khó thấy trong chuẩn HTML5 giữa các thẻ <article> <section> và <div>.

Trong chuẩn HTML5, thẻ <section> được định nghĩa như là một khối gồm các nội dung liên quan.

Thẻ <article> được định nghĩa như là một thẻ bao gồm nội dung hoàn chỉnh, một khối khép kín.

Thẻ <div> được định nghĩa như là một khối bao gồm các thẻ con bên trong.

Vậy chúng ta phải hiểu thế nào đây?

Rất đơn giản, tùy thuộc vào nội dung bạn muốn thể hiện, bạn hãy linh hoạt sử dụng các thẻ.

Trong ví dụ bên trên chúng ta đã sử dụng thẻ <section> bao ngoài thẻ <article>.

Nhưng chúng ta cũng có thể sử dụng thẻ <article> với mục đích tương tự.

Dưới đây là một vài ví dụ bạn có thể linh hoạt sử dụng các thẻ:

Thẻ <article> trong thẻ <article>:

Demo

Thẻ <div> trong thẻ <article>:

Demo

Thẻ <div> trong thẻ <section> trong thẻ <article>:

Demo

Leave a Reply

Your email address will not be published. Required fields are marked *

*