你可以教老的浏览器正确处理HTML5。
浏览器支持HTML5
HTML5在所有现代浏览器都支持。
此外,所有的浏览器,新与旧,自动处理未知的元素为内联元素。
正因为如此,你可以"teach"旧的浏览器来处理"unknown" HTML元素。
你甚至可以教IE6 (Windows XP 2001)如何处理未知的HTML元素。
定义HTML5元素为块元素
HTML5定义了八个新的语义的HTML元素。 所有这些都是块级元素。
要在旧的浏览器安全正确的行为,你可以设置CSS display属性来阻止 :
header, section, footer, aside, nav, main, article, figure {
display: block;
}
添加新的元素,HTML
您还可以添加使用浏览器的把戏HTML任何新的元素。
本实施例中增加了一个所谓的新元素<myHero>到HTML,并限定了显示样式它:
例
<!DOCTYPE html>
<html>
<head>
<title>Creating an HTML Element</title>
<script>document.createElement("myHero")</script>
<style>
myHero {
display: block;
background-color: #ddd;
padding: 50px;
font-size: 30px;
}
</style>
</head>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
<myHero>My First Hero</myHero>
</body>
</html>
试一试» 该JavaScript语句document. createElement("myHero") document. createElement("myHero")被添加,只是为了满足IE。
问题的Internet Explorer
你可以使用如上所述,对于所有新的HTML5元素的解决方案,但是:
Internet Explorer 8和更早版本,不允许未知元素的造型。
值得庆幸的是,斯乔尔德·比塞彻创造了"HTML5 Enabling JavaScript" “ the shiv ”:
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
上面的代码是一个注释,但之前的IE9版本将读取它(and understand it) 。
完整Shiv解决方案
例
<!DOCTYPE html>
<html>
<head>
<title>Styling HTML5</title>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<h1>My First Article</h1>
<article>
London is the capital city of England. It is the most populous city in the United Kingdom, with a metropolitan area of over 13 million inhabitants.
</article>
</body>
</html>
试一试» 在链接shiv代码必须放在<head>元素,因为Internet Explorer需要知道阅读他们之前的所有新元素。
一个HTML5骨架
例
<!DOCTYPE html>
<html lang="en">
<head>
<title>HTML5 Skeleton</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>HTML5 SKeleton</h1>
</header>
<nav>
<ul>
<li><a href="html5_semantic_elements.asp">HTML5 Semantic</a></li>
<li><a href="html5_geolocation.asp">HTML5 Geolocation</a></li>
<li><a href="html5_canvas.asp">HTML5 Graphics</a></li>
</ul>
</nav>
<section>
<h1>Famous Cities</h1>
<article>
<h2>London</h2>
<p>London is the capital city of England. It is the most populous city in the United Kingdom,
with a metropolitan area of over 13 million inhabitants.</p>
</article>
<article>
<h2>Paris</h2>
<p>Paris is the capital and most populous city of France.</p>
</article>
<article>
<h2>Tokyo</h2>
<p>Tokyo is the capital of Japan, the center of the Greater Tokyo Area,
and the most populous metropolitan area in the world.</p>
</article>
</section>
<footer>
<p>© 2014 w3ii. All rights reserved.</p>
</footer>
</body>
</html>
试一试»