HTML5-Migration
- Vorherige Seite HTML5-Elemente
- Nächste Seite HTML5-Geolokalisierung
Migration von HTML4 zu HTML5
Dieses Kapitel erläutert, wie von einer typischen HTML4-Seite zu einer typischen HTML5-Seite migriert wird.
Dieses Kapitel zeigt, wie eine vorhandene HTML4-Seite in eine HTML5-Seite umgewandelt wird, ohne die ursprünglichen Inhalte und Strukturen zu beeinträchtigen.
Anmerkung:Sie können die gleichen Techniken verwenden, um von HTML4 und XHTML auf HTML5 zu migrieren.
Typische HTML4 | Typische HTML5 |
---|---|
<div id="header"> | <header> |
<div id="menu"> | <nav> |
<div id="content"> | <section> |
<div id="post"> | <article> |
<div id="footer"> | <footer> |
Typische HTML4-Seite
Beispiel
<!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>Nachrichten</li> <li>Sport</li> <li>Wetter</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. Alle Rechte vorbehalten.</p> </div> </body> </html>
in HTML5 Doctype ändern
Ändern Sie den Dokumenttyp von HTML4 doctype:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Ändern Sie in HTML5 doctype:
<!DOCTYPE html>
in HTML5-Kodierung ändern
Modifizieren Sie die Kodierungsinformationen von HTML4:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
Umwandeln in HTML5:
<meta charset="utf-8">
Shiv hinzufügen
Alle modernen Browser unterstützen HTML5 semantische Elemente.
Darüber hinaus können Sie "lehrreicherweise" veraltete Browser, wie sie mit "unbekannten Elementen" umgehen, behandeln.
Shiv hinzugefügt für Internet Explorer-Unterstützung:
<![if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]-->
Anmerkung:Lesen Sie mehr über shiv im Abschnitt zur Unterstützung von HTML5-Browsern.
CSS für HTML5 semantische Elemente hinzufügen
Sehen Sie sich die vorhandenen CSS-Stile an:
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; } Doppelt mit gleichen CSS-Styles für HTML5 semantische Elemente: 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; }
in HTML5 <header> und <footer> umwandeln
Ändern Sie die <div> -Elemente mit id="header" und id="footer":
<div id="header"> <h1>Monday Times</h1> </div> . . . <div id="footer"> <p>© 2016 CodeW3C.com. Alle Rechte vorbehalten.</p> </div>
Ändern Sie in HTML5-Semantik-Elemente <header> und <footer> um:
<header> <h1>Monday Times</h1> </header> . . . <footer> <p>© 2016 CodeW3C.com. Alle Rechte vorbehalten.</p> </footer>
in HTML5 <nav> ändern
Ändern Sie das <div>-Element mit id="menu":
<div id="menu"> <ul> <li>Nachrichten</li> <li>Sports</a></li> <li>Wetter</li> </ul> </div>
Ändern Sie in HTML5-Semantik-Elemente <nav> um:
<nav> <ul> <li>Nachrichten</li> <li>Sports</a></li> <li>Wetter</li> </ul> </nav>
in HTML5 <section> ändern
Ändern Sie das <div>-Element mit id="content":
<div id="content"> . . . </div>
Ändern Sie in HTML5-Semantik-Elemente <section> um:
<section> . . . </section>
in HTML5 <article> ändern
Ändern Sie alle <div>-Elemente mit 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>
Ändern Sie in HTML5-Semantik-Elemente <article> um:
<article> <h2>News Article</h2> <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum.</p> </article>
Löschen Sie diese "nicht mehr erforderlichen" Stile:
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; }
Typische HTML5-Seite
Sie können den <head>-Tag am Ende löschen. Er ist in HTML5 nicht mehr erforderlich:
Beispiel
<!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>Nachrichten</li> <li>Sport</li> <li>Wetter</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. Alle Rechte vorbehalten.</p> </footer> </body> </html>
Unterschiede zwischen <article>, <section> und <div>:
Im HTML5-Standard sind die Unterschiede zwischen <article>, <section> und <div> gering und können verwirrend sein.
Im HTML5-Standard wird das <section>-Element als Block für verwandte Elemente positioniert.
Das <article>-Element wird als vollständiger, selbstinhaltiger Block für verwandte Elemente definiert.
Das <div>-Element wird als Block für Unterelemente definiert.
Wie kann man das verstehen?
Im obigen Beispiel haben wir <section> als Container für verwandte <articles> verwendet.
Aber wir können <article> auch als Container für Artikel verwenden.
Hier sind einige verschiedene Beispiele:
Der <article> im <article>: <article> <h2>Bekannte Städte</h2> <article> <h2>London</h2> <p>London ist die Hauptstadt Englands. Es ist die bevölkerungsreichste Stadt im Vereinigten Königreich,</p> <p>mit einer Metropolregion von über 13 Millionen Einwohnern.</p> </article> <article> <h2>Paris</h2> <p>Paris ist die Hauptstadt und bevölkerungsreichste Stadt Frankreichs.</p> </article> <article> <h2>Tokyo</h2> <p>Tokyo ist die Hauptstadt Japans, der Mittelpunkt des Greater Tokyo Area,</p> und die bevölkerungsreichste Metropolregion der Welt.</p> </article> </article>
<article> innerhalb von <div>: <article> <h2>Bekannte Städte</h2> <div class="city"> <h2>London</h2> <p>London ist die Hauptstadt Englands. Es ist die bevölkerungsreichste Stadt im Vereinigten Königreich,</p> <p>mit einer Metropolregion von über 13 Millionen Einwohnern.</p> </div> <div class="city"> <h2>Paris</h2> <p>Paris ist die Hauptstadt und bevölkerungsreichste Stadt Frankreichs.</p> </div> <div class="city"> <h2>Tokyo</h2> <p>Tokyo ist die Hauptstadt Japans, der Mittelpunkt des Greater Tokyo Area,</p> und die bevölkerungsreichste Metropolregion der Welt.</p> </div> </article>
<article> innerhalb von <section> innerhalb von <div>: <article> <section> <h2>Bekannte Städte</h2> <div class="city"> <h2>London</h2> <p>London ist die Hauptstadt Englands. Es ist die bevölkerungsreichste Stadt im Vereinigten Königreich,</p> <p>mit einer Metropolregion von über 13 Millionen Einwohnern.</p> </div> <div class="city"> <h2>Paris</h2> <p>Paris ist die Hauptstadt und bevölkerungsreichste Stadt Frankreichs.</p> </div> <div class="city"> <h2>Tokyo</h2> <p>Tokyo ist die Hauptstadt Japans, der Mittelpunkt des Greater Tokyo Area,</p> und die bevölkerungsreichste Metropolregion der Welt.</p> </div> </section> <section> <h2>Bekannte Länder</h2> <div class="country"> <h2>England</h2> <p>London ist die Hauptstadt Englands. Es ist die bevölkerungsreichste Stadt im Vereinigten Königreich,</p> <p>mit einer Metropolregion von über 13 Millionen Einwohnern.</p> </div> <div class="country"> <h2>Frankreich</h2> <p>Paris ist die Hauptstadt und bevölkerungsreichste Stadt Frankreichs.</p> </div> <div class="country"> <h2>Japan</h2> <p>Tokyo ist die Hauptstadt Japans, der Mittelpunkt des Greater Tokyo Area,</p> und die bevölkerungsreichste Metropolregion der Welt.</p> </div> </section> </article>
- Vorherige Seite HTML5-Elemente
- Nächste Seite HTML5-Geolokalisierung