HTML5-migrering
- Föregående sida HTML5-element
- Nästa sida HTML5-geolokalisering
Migrering från HTML4 till HTML5
Detta kapitel förklarar hur man migrerar från en typisk HTML4-sida till en typisk HTML5-sida.
Detta kapitel visar hur man konverterar en befintlig HTML4-sida till en HTML5-sida utan att förstöra den ursprungliga innehållet och strukturen.
Kommentar:Du kan använda samma tekniker för att migrera från HTML4 och XHTML till HTML5.
Typisk HTML4 | Typisk HTML5 |
---|---|
<div id="header"> | <header> |
<div id="menu"> | <nav> |
<div id="content"> | <section> |
<div id="post"> | <article> |
<div id="footer"> | <footer> |
Typisk HTML4-sida
Exempel
<!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>Nyheter</li> <li>Sport</li> <li>Väder</li> </ul> </div> <div id="content"> <h2>Nyhetsavsnitt</h2> <div id="post"> <h2>Nyhetsartikel</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>Nyhetsartikel</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. Alla rättigheter förbehållna.</p> </div> </body> </html>
Till HTML5 Doctype
Ändra dokumenttyp, från HTML4 doctype:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Ändra till HTML5 doctype:
<!DOCTYPE html>
Till HTML5-kodning
Ändra kodingsinformation, från HTML4:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
Ändra till HTML5:
<meta charset="utf-8">
Lägg till shiv
Alla moderna webbläsare stöder HTML5 semantiska element.
Dessutom kan du "lär" gamla webbläsare hur de ska hantera "okända element".
Shiv tillägg för Internet Explorer-stöd:
<![if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]-->
Kommentar:Läs mer om shiv i stöd för HTML5-webbläsare.
Lägg till CSS för HTML5 semantiska element
Se redan befintliga CSS-stilar:
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; } Kopiera med samma CSS-stilar för HTML5 semantiska element: 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; }
Till HTML5 <header> och <footer>
Ändra <div> elementen med id="header" och id="footer":
<div id="header"> <h1>Monday Times</h1> </div> . . . <div id="footer"> <p>© 2016 CodeW3C.com. Alla rättigheter förbehållna.</p> </div>
Ändra till HTML5-semantiska element <header> och <footer>:
<header> <h1>Monday Times</h1> </header> . . . <footer> <p>© 2016 CodeW3C.com. Alla rättigheter förbehållna.</p> </footer>
Till HTML5 <nav>
Ändra det <div>-element som har id="menu":
<div id="menu"> <ul> <li>Nyheter</li> <li>Sports</a></li> <li>Väder</li> </ul> </div>
Ändra till HTML5-semantiska element <nav>:
<nav> <ul> <li>Nyheter</li> <li>Sports</a></li> <li>Väder</li> </ul> </nav>
Till HTML5 <section>
Ändra det <div>-element som har id="content":
<div id="content"> . . . </div>
Ändra till HTML5-semantiska element <section>:
<section> . . . </section>
Till HTML5 <article>
Ändra alla <div>-element med class="post":
<div class="post"> <h2>Nyhetsartikel</h2> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> </div>
Ändra till HTML5-semantiska element <article>:
<article> <h2>Nyhetsartikel</h2> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> </article>
Ta bort dessa "inte längre nödvändiga" stilar:
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; }
En typisk HTML5-sida
Du kan sedan ta bort <head>-taggen. De behövs inte längre i HTML5:
Exempel
<!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>Nyheter</li> <li>Sport</li> <li>Väder</li> </ul> </nav> <section> <h2>Nyhetsavsnitt</h2> <div id="post"> <h2>Nyhetsartikel</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>Nyhetsartikel</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. Alla rättigheter förbehållna.</p> </footer> </body> </html>
Skillnaden mellan <article>, <section> och <div>:
I HTML5-standarden är skillnaden mellan <article>, <section> och <div> mycket liten och kan vara förvirrande.
I HTML5-standarden är elementet <section> placerat som en blockbehållare för relaterade element.
Elementet <article> definieras som en helt självinkluderande blockbehållare för relaterade element.
Elementet <div> definieras som en blockelement underläggare.
Hur förstår man detta?
I de ovanstående exemplen använde vi <section> som behållare för relaterade <articles>.
Men vi kan också använda <article> som en behållare för artiklar.
Nedan är några olika exempel:
I artikeln <article> in <article>: <article> <h2>Kända städer</h2> <article> <h2>London</h2> <p>London är huvudstaden i England. Det är den mest befolkade staden i Förenade kungariket,</p> <p>med ett storstadsområde över 13 miljoner invånare.</p> </article> <article> <h2>Paris</h2> <p>Paris är huvudstaden och mest befolkade staden i Frankrike.</p> </article> <article> <h2>Tokyo</h2> <p>Tokyo är huvudstaden i Japan, mittpunkten för den större Tokyo-området,</p> och den mest befolkade storstadsområdet i världen.</p> </article> </article>
<article> inuti <div>:</article> <article> <h2>Kända städer</h2> <div class="city"> <h2>London</h2> <p>London är huvudstaden i England. Det är den mest befolkade staden i Förenade kungariket,</p> <p>med ett storstadsområde över 13 miljoner invånare.</p> </div> <div class="city"> <h2>Paris</h2> <p>Paris är huvudstaden och mest befolkade staden i Frankrike.</p> </div> <div class="city"> <h2>Tokyo</h2> <p>Tokyo är huvudstaden i Japan, mittpunkten för den större Tokyo-området,</p> och den mest befolkade storstadsområdet i världen.</p> </div> </article>
<article> inuti <section> inuti <div>:</article> <article> <section> <h2>Kända städer</h2> <div class="city"> <h2>London</h2> <p>London är huvudstaden i England. Det är den mest befolkade staden i Förenade kungariket,</p> <p>med ett storstadsområde över 13 miljoner invånare.</p> </div> <div class="city"> <h2>Paris</h2> <p>Paris är huvudstaden och mest befolkade staden i Frankrike.</p> </div> <div class="city"> <h2>Tokyo</h2> <p>Tokyo är huvudstaden i Japan, mittpunkten för den större Tokyo-området,</p> och den mest befolkade storstadsområdet i världen.</p> </div> </section> <section> <h2>Kända länder</h2> <div class="country"> <h2>England</h2> <p>London är huvudstaden i England. Det är den mest befolkade staden i Förenade kungariket,</p> <p>med ett storstadsområde över 13 miljoner invånare.</p> </div> <div class="country"> <h2>Frankrike</h2> <p>Paris är huvudstaden och mest befolkade staden i Frankrike.</p> </div> <div class="country"> <h2>Japan</h2> <p>Tokyo är huvudstaden i Japan, mittpunkten för den större Tokyo-området,</p> och den mest befolkade storstadsområdet i världen.</p> </div> </section> </article>
- Föregående sida HTML5-element
- Nästa sida HTML5-geolokalisering