最新的Web開發教程

瀏覽器支持HTML5


你可以教老的瀏覽器正確處理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和更早版本,不允許未知元素的造型。

值得慶幸的是,Sjoerd Visscher的創造了"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>&copy; 2014 w3ii. All rights reserved.</p>
</footer>

</body>
</html>
試一試»