การสนับสนุนโดยเว็บเบราวเซอร์ HTML5

คุณสามารถช่วยระบบเบราเซอร์ตัวเก่าในการจัดการ HTML5 ได้

การสนับสนุนโดยเว็บเบราวเซอร์ HTML5

所有現代瀏覽器都支持 HTML5。

此外,所有瀏覽器,不論新舊,都會自動把未識別元素當作行內元素來處理。

正因如此,您可以帮助老式瀏覽器處理”未知的“ HTML 元素。

註釋:您甚至可以教導石器時代的 IE6 如何處理未知的 HTML 元素。

把 HTML5 元素定義為塊級元素

HTML5 定義了八個新的語義 HTML 元素。所有都是塊級元素。

您可以把 CSS display 屬性設置為 block,以确保老式浏览器中正确的行为:

ตัวอย่าง

header, section, footer, aside, nav, main, article, figure {
    display: block; 
}

向 HTML 添加新元素

您可以通过浏览器 trick 向 HTML 添加任何新元素:

本例向 HTML 添加了一個名為 <myHero> 的新元素,並為其定義 display 样式:

ตัวอย่าง

<!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"),僅適用於 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 的早期版本會讀取它(並理解它)。

完整的 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 ต้องอยู่ใน element <head> เพราะ Internet Explorer ต้องรู้ตัวแห่งใหม่ทั้งหมดก่อนที่จะอ่าน

HTML5 Skeleton

ตัวอย่าง

<!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>
</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 รูปแบบนัยนิยม</a></li>
  <li><a href="html5_geolocation.asp">HTML5 ตำแหน่งทางภูมิศาสตร์</a></li>
  <li><a href="html5_canvas.asp">กราฟิก HTML5</a></li>
</ul>
</nav>
<section>
<h1>เมืองที่มีชื่อเสียง</h1>
<article>
<h2>กรุงลอนดอน</h2>
<p>กรุงลอนดอนเป็นเมืองหลวงของประเทศอังกฤษ และเป็นเมืองที่มีประชากรมากที่สุดในสหราชอาณาจักร</p>
<p>โดยมีพื้นที่เมืองหลวงมากกว่า 13 ล้านคน</p>
</article>
<article>
<h2>กรุงปารีส</h2>
<p>กรุงปารีสเป็นเมืองหลวงและเป็นเมืองที่มีประชากรมากที่สุดของประเทศฝรั่งเศส</p>
</article>
<article>
<h2>กรุงโตเกียว</h2>
<p>กรุงโตเกียวเป็นเมืองหลวงและเป็นเมืองที่มีประชากรมากที่สุดในโลก</p>
<p>กรุงโตเกียวเป็นเมืองหลวงของประเทศญี่ปุ่น และเป็นศูนย์กลางของพื้นที่กรุงโตเกียวใหญ่</p>
</article>
</section>
<footer>
<p>© 2016 CodeW3C.com. สิทธิ์ทุกสิทธิ์ถูกปกป้อง.</p>
</footer>
</body>
</html>

ทดลองด้วยตัวเอง