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.
Cách viết trong HTML4 | Chuyể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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>HTML4</title> <style> body { font-family:Verdana,sans-serif;font-size:0.8em; } div#header,div#footer,div#content,div#post { border:1px solid grey; margin:5px;margin-bottom:15px;padding:8px; background-color:white; } div#header,div#footer { color:white;background-color:#444;margin-bottom:5px; } div#content { background-color:#ddd; } div#menu ul { margin:0;padding:0; } div#menu ul li { display:inline; margin:5px; } </style> </head> <body> <div id="header"> <h1>Cộng đồng Web Việt</h1> </div> <div id="menu"> <ul> <li>HTML</li> <li>CSS</li> <li>JavaScript</li> </ul> </div> <div id="content"> <h2>Tin tức</h2> <div id="post"> <h2>Tin mới</h2> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> </div> <div id="post"> <h2>Tin mới</h2> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> </div> </div> <div id="footer"> <p>© 2015 WebVN. Toàn quyền sở hữu.</p> </div> </body> </html> |
Chuyển Doctype sang HTML5
Chuyển doctype từ HTML4:
1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
sang doctype của HTML5
1 |
<!DOCTYPE html> |
Chuyển bảng mã ký tự sang HTML5
Chuyển thông tin bảng mã ký tự từ HTML4:
1 |
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> |
sang HTML5:
1 |
<meta charset="utf-8"> |
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:
1 2 3 |
<!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> |
Thêm CSS cho các thẻ HTML5
Đây là CSS hiện tại trong HTML4:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
div#header,div#footer,div#content,div#post { border:1px solid grey;margin:5px;margin-bottom:15px;padding:8px;background-color:white; } div#header,div#footer { color:white;background-color:#444;margin-bottom:5px; } div#content { background-color:#ddd; } div#menu ul { margin:0;padding:0; } div#menu ul li { display:inline; margin:5px; } |
Chúng ta sẽ tạo thêm CSS cho các thẻ HTML dựa trên CSS cũ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
header,footer,section,article { border:1px solid grey;margin:5px;margin-bottom:15px;padding:8px;background-color:white; } header,footer { color:white;background-color:#444;margin-bottom:5px; } section { background-color:#ddd; } nav ul { margin:0;padding:0; } nav ul li { display:inline; margin:5px; } |
Chuyển header, footer sang HTML5
Chúng ta sẽ chuyển thẻ <div> có id=”header” và id=”footer”:
1 2 3 4 5 6 7 8 9 |
<div id="header"> <h1>Cộng đồng Web Việt</h1> </div> . . . <div id="footer"> <p>© 2015 WebVN. Toàn quyền sở hữu.</p> </div> |
sang sử dụng thẻ <header>, <footer> của HTML5:
1 2 3 4 5 6 7 8 9 |
<header> <h1>Cộng đồng Web Việt</h1> </header> . . . <footer> <p>© 2015 WebVN. Toàn quyền sở hữu.</p> </footer> |
Chuyển sang thẻ <nav> trong HTML5
Chúng ta sẽ chuyển thẻ <div> có id=”menu”:
1 2 3 4 5 6 7 |
<div id="menu"> <ul> <li>HTML</li> <li>CSS</li> <li>JavaScript</li> </ul> </div> |
sang thẻ <nav> trong HTML5:
1 2 3 4 5 6 7 |
<nav> <ul> <li>HTML</li> <li>CSS</li> <li>JavaScript</li> </ul> </nav> |
Chuyển sang thẻ <section> trong HTML5
Chúng ta sẽ chuyển thẻ <div> có id=”content”:
1 2 3 4 5 |
<div id="content"> . . . </div> |
sang thẻ <section> trong HTML5:
1 2 3 4 5 |
<section> . . . </section> |
Chuyển sang thẻ <article> trong HTML5
Chúng ta sẽ chuyển thẻ <div> có id=”post”:
1 2 3 4 5 6 7 8 9 |
<div id="post"> <h2>Tin mới</h2> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> </div> |
sang thẻ <article> trong HTML5:
1 2 3 4 5 6 7 8 9 |
<article> <h2>Tin mới</h2> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> </article> |
Tới đây, chúng ta có thể tiến hành bỏ CSS cũ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
div#header,div#footer,div#content,div#post { border:1px solid grey;margin:5px;margin-bottom:15px;padding:8px;background-color:white; } div#header,div#footer { color:white;background-color:#444;margin-bottom:5px; } div#content { background-color:#ddd; } div#menu ul { margin:0;padding:0; } div#menu ul li { display:inline; margin:5px; } |
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
<!DOCTYPE html> <html lang="en"> <title>HTML5</title> <meta charset="utf-8"> <!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"> </script> <![endif]--> <style> body { font-family:Verdana,sans-serif;font-size:0.8em; } header,footer,section,article { border:1px solid grey; margin:5px;margin-bottom:15px;padding:8px; background-color:white; } header,footer { color:white;background-color:#444;margin-bottom:5px; } section { background-color:#ddd; } nav ul { margin:0;padding:0; } nav ul li { display:inline; margin:5px; } </style> <body> <header> <h1>Cộng đồng Web Việt</h1> </header> <nav> <ul> <li>HTML</li> <li>CSS</li> <li>JavaScript</li> </ul> </nav> <section> <h2>Tin tức</h2> <article> <h2>Tin mới</h2> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> </article> <article> <h2>Tin mới</h2> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> </article> </section> <footer> <p>© 2015 WebVN. Toàn quyền sở hữu.</p> </footer> </body> </html> |
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>:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
<!DOCTYPE html> <html lang="en"> <head> <title>HTML5</title> <meta charset="utf-8"> <!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"> </script> <![endif]--> <style> body {font-family: Verdana, sans-serif; font-size:0.8em;} header, nav, section, article, footer {border:1px solid grey; margin:5px; padding:8px;} nav ul {margin:0; padding:0;} nav ul li {display:inline; margin:5px;} </style> </head> <body> <header> <h1>Trang tin HTML5</h1> </header> <nav> <ul> <li>Tin tức</li> <li>Thể thao</li> <li>Thời tiết</li> </ul> </nav> <article> <h2>Các thành phố nổi tiếng</h2> <article> <h2>London</h2> <p>London là thủ đô của Nước Anh. Nó là thành phố đông dân nhất trong Vương Quốc liên hiệp Anh với một đô thị có diện tích hơn 13 triệu cư dân.p> </article> <article> <h2>Paris</h2> <p>Paris là thủ đô và là thành phố đông dân nhất của Pháp.</p> </article> <article> <h2>Tokyo</h2> <p>Tokyo là thủ đô của Nhật Bản, trung tâm của vùng thủ đô Tokyo và là đô thị đông nhất trên thế giới.</p> </article> </article> <footer> <p>© 2015 WebVN. Toàn quyền sở hữu.</p> </footer> </body> </html> |
Thẻ <div> trong thẻ <article>:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
<!DOCTYPE html> <html lang="en"> <head> <title>HTML5</title> <meta charset="utf-8"> <!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"> </script> <![endif]--> <style> body {font-family: Verdana, sans-serif; font-size:0.8em;} header, nav, section, article, footer, div.city {border:1px solid grey; margin:5px; padding:8px;} nav ul {margin:0; padding:0;} nav ul li {display:inline; margin:5px;} </style> </head> <body> <header> <h1>Trang tin HTML5</h1> </header> <nav> <ul> <li>Tin tức</li> <li>Thể thao</li> <li>Thời tiết</li> </ul> </nav> <article> <h2>Các thành phố nổi tiếng</h2> <div class="city"> <h2>London</h2> <p>London là thủ đô của Nước Anh. Nó là thành phố đông dân nhất trong Vương Quốc liên hiệp Anh với một đô thị có diện tích hơn 13 triệu cư dân.p> </div> <div class="city"> <h2>Paris</h2> <p>Paris là thủ đô và là thành phố đông dân nhất của Pháp.</p> </div> <div class="city"> <h2>Tokyo</h2> <p>Tokyo là thủ đô của Nhật Bản, trung tâm của vùng thủ đô Tokyo và là đô thị đông nhất trên thế giới.</p> </div> </article> <footer> <p>© 2015 WebVN. Toàn quyền sở hữu.</p> </footer> </body> </html> |
Thẻ <div> trong thẻ <section> trong thẻ <article>:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
<!DOCTYPE html> <html lang="en"> <head> <title>HTML5</title> <meta charset="utf-8"> <!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"> </script> <![endif]--> <style> body {font-family: Verdana, sans-serif; font-size:0.8em;} header, nav, article, footer, div.city, div.country {border:1px solid grey; margin:5px; padding:8px;} nav ul {margin:0; padding:0;} nav ul li {display:inline; margin:5px;} </style> </head> <body> <header> <h1>Trang tin HTML5</h1> </header> <nav> <ul> <li>Tin tức</li> <li>Thể thao</li> <li>Thời tiết</li> </ul> </nav> <article> <section> <h2>Các thành phố nổi tiếng</h2> <div class="city"> <h2>London</h2> <p>London là thủ đô của Nước Anh. Nó là thành phố đông dân nhất trong Vương Quốc liên hiệp Anh với một đô thị có diện tích hơn 13 triệu cư dân.p> </div> <div class="city"> <h2>Paris</h2> <p>Paris là thủ đô và là thành phố đông dân nhất của Pháp.</p> </div> <div class="city"> <h2>Tokyo</h2> <p>Tokyo là thủ đô của Nhật Bản, trung tâm của vùng thủ đô Tokyo và là đô thị đông nhất trên thế giới.</p> </div> </section> <section> <h2>Các quốc gia nổi tiếng</h2> <div class="country"> <h2>Nước Anh</h2> <p>London là thủ đô của Nước Anh. Nó là thành phố đông dân nhất trong Vương Quốc liên hiệp Anh với một đô thị có diện tích hơn 13 triệu cư dân.</p> </div> <div class="country"> <h2>Nước Pháp</h2> <p>Paris là thủ đô và là thành phố đông dân nhất của Pháp.</p> </div> <div class="country"> <h2>Nước Nhật Bản</h2> <p>Tokyo là thủ đô của Nhật Bản, trung tâm của vùng thủ đô Tokyo và là đô thị đông nhất trên thế giới.</p> </div> </section> </article> <footer> <p>© 2015 WebVN. Toàn quyền sở hữu.</p> </footer> </body> </html> |