Pagsasali ng HTML5
从 HTML4 迁移至 HTML5
本章讲解如何从一张典型的 HTML4 页面迁移至典型的 HTML5。
本章演示如何把一张已有的 HTML4 页面转换为 HTML5 页面,在不破坏如何原始内容和结构的情况下。
Komento:您可以使用相同的技巧从 HTML4 以及 XHTML 迁移至 HTML5。
典型的 HTML4 | 典型的 HTML5 |
---|---|
<div id="header"> | <header> |
<div id="menu"> | <nav> |
<div id="content"> | <section> |
<div id="post"> | <article> |
<div id="footer"> | <footer> |
典型的 HTML4 页面
Mga halimbawa
<!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>Monday Times</h1> </div> <div id="menu"> <ul> <li>News</li> <li>Sports</li> <li>Weather</li> </ul> </div> <div id="content"> <h2>News Section</h2> <div id="post"> <h2>News Article</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> </div> <div id="post"> <h2>News Article</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> </div> </div> <div id="footer"> <p>© 2014 Monday Times. Lahat ng karapatan ay inaari.</p> </div> </body> </html>
Palitan sa HTML5 Doctype
Ayusin ang uri ng dokumento, mula sa HTML4 doctype:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Ayusin bilang HTML5 doctype:
<!DOCTYPE html>
Palitan sa HTML5 encoding
Ayusin ang impormasyon ng pagsasalin, mula sa HTML4:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
Palitan sa HTML5:
<meta charset="utf-8">
Magdagdag ng shiv
Lahat ng modernong browser ay sumusuporta sa HTML5 semantic elements.
Bilang karagdagan, maaring "turohan" mo ang lumang browser kung paano hahawakan ang "unknown elements".
Shiv na idinagdag para sa suporta ng Internet Explorer:
<![if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]-->
Komento:Basahin pa ang higit pang kaalaman tungkol sa shiv sa pagbabasa sa suporta ng HTML5 browser.
Magdagdag ng CSS para sa HTML5 semantic elements
Ginawa na ang CSS na estilo:
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; } Kopyahin ang CSS style na katulad para sa HTML5 semantic elements: 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; }
Sa HTML5 <header> at <footer>
Palitan ang <div> na may id="header" at id="footer":
<div id="header"> <h1>Monday Times</h1> </div> . . . <div id="footer"> <p>© 2016 CodeW3C.com. Lahat ng karapatan ay ipinagbabawal.</p> </div>
Gawing HTML5 na semantikong elemento <header> at <footer>:
<header> <h1>Monday Times</h1> </header> . . . <footer> <p>© 2016 CodeW3C.com. Lahat ng karapatan ay pinagyayari.</p> </footer>
.
Gawing HTML5 <nav> ang <div> na may id="menu":
<div id="menu"> <ul> <li>News</li> <li>Sports</a></li> <li>Weather</li> </ul> </div>
Gawing HTML5 na semantikong elemento <nav>:
<nav> <ul> <li>News</li> <li>Sports</a></li> <li>Weather</li> </ul> </nav>
.
Gawing HTML5 <section> ang the <div> na may id="content":
<div id="content"> . . . </div>
Gawing HTML5 na semantikong elemento <section>:
<section> . . . </section>
.
Gawing HTML5 <article> ang lahat ng <div> na may class="post":
<div class="post"> <h2>News Article</h2> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> </div>
Gawing HTML5 na semantikong elemento <article>:
<article> <h2>News Article</h2> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> </article>
Alisin ang mga "hindi na kailangan na" na estilo:
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; }
Tinipong HTML5 na pahina
Hindi na kailangan na alisin ang <head> tag. Hindi na kailangan nila sa HTML5:
Mga halimbawa
<!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>Monday Times</h1> </header> <nav> <ul> <li>News</li> <li>Sports</li> <li>Weather</li> </ul> </nav> <section> <h2>News Section</h2> <div id="post"> <h2>News Article</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>News Article</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> </section> <footer> <p>© 2014 Monday Times. Lahat ng karapatan ay inaari.</p> </footer> </body> </html>
Ang pagkakaiba ng <article>, <section> at <div>
Sa pamantayan ng HTML5, ang pagkakaiba ng <article>, <section> at <div> ay maliit at nakakalungkot.
Sa pamantayan ng HTML5, ang <section> na elemento ay na-locate bilang bloke ng mga kaugnay na elemento.
Ang <article> na elemento ay tinukoy bilang buong isang sariling kahon ng kaugnay na elemento.
Ang <div> na elemento ay tinukoy bilang bloke ng mga sub-elemento.
Paano ituturuan iyon?
Sa mga nakaraang halimbawa, gamit namin ang <section> bilang kahon ng mga kaugnay na <articles>.
Ngunit, maaari din naming gamitin ang <article> bilang kahon ng artikulo.
Narito ang ilang magkakaibang halimbawa:
Sa <article> ang <article> sa loob ng <article>: <article> <h2>Pangunahing Lungsod</h2> <article> <h2>London</h2> <p>London ang kabisera ng Inglatera. Ito ang pinakamaraming populasyon na lungsod sa United Kingdom,</p> <p>na may metropolitan area na may higit sa 13 milyong naninirahan.</p> </article> <article> <h2>Paris</h2> <p>Paris ang kabisera at pinakamaraming populasyon na lungsod ng Pransya.</p> </article> <article> <h2>Tokyo</h2> <p>Tokyo ay ang kabisera ng bansang Hapon, ang sentro ng Lumalaking Tokyo Area,</p> at ang pinakamaraming populasyon na metropolitan area sa mundo.</p> </article> </article>
<article> sa <div>: <article> <h2>Pangunahing Lungsod</h2> <div class="city"> <h2>London</h2> <p>London ang kabisera ng Inglatera. Ito ang pinakamaraming populasyon na lungsod sa United Kingdom,</p> <p>na may metropolitan area na may higit sa 13 milyong naninirahan.</p> </div> <div class="city"> <h2>Paris</h2> <p>Paris ang kabisera at pinakamaraming populasyon na lungsod ng Pransya.</p> </div> <div class="city"> <h2>Tokyo</h2> <p>Tokyo ay ang kabisera ng bansang Hapon, ang sentro ng Lumalaking Tokyo Area,</p> at ang pinakamaraming populasyon na metropolitan area sa mundo.</p> </div> </article>
<article> sa <section> sa <div>: <article> <section> <h2>Pangunahing Lungsod</h2> <div class="city"> <h2>London</h2> <p>London ang kabisera ng Inglatera. Ito ang pinakamaraming populasyon na lungsod sa United Kingdom,</p> <p>na may metropolitan area na may higit sa 13 milyong naninirahan.</p> </div> <div class="city"> <h2>Paris</h2> <p>Paris ang kabisera at pinakamaraming populasyon na lungsod ng Pransya.</p> </div> <div class="city"> <h2>Tokyo</h2> <p>Tokyo ay ang kabisera ng bansang Hapon, ang sentro ng Lumalaking Tokyo Area,</p> at ang pinakamaraming populasyon na metropolitan area sa mundo.</p> </div> </section> <section> <h2>Pangunahing mga Bansa</h2> <div class="country"> <h2>England</h2> <p>London ang kabisera ng Inglatera. Ito ang pinakamaraming populasyon na lungsod sa United Kingdom,</p> <p>na may metropolitan area na may higit sa 13 milyong naninirahan.</p> </div> <div class="country"> <h2>France</h2> <p>Paris ang kabisera at pinakamaraming populasyon na lungsod ng Pransya.</p> </div> <div class="country"> <h2>Japan</h2> <p>Tokyo ay ang kabisera ng bansang Hapon, ang sentro ng Lumalaking Tokyo Area,</p> at ang pinakamaraming populasyon na metropolitan area sa mundo.</p> </div> </section> </article>