lt;!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>H5標簽常用參考</title>
</head>
<body style="display: grid">
<!-- 頁面按顯示元素分為,行元素: 水平排例; 塊元素:垂直排列;行內塊元素:既有塊元素,又有行元素; -->
<!-- 標簽有兩種,雙標簽:用在可替換元素中,內容寫到二個標簽之間,單標簽 :用在不可替換元素中,內容由標簽屬性指定-->
<!-- Html4以前布局標簽 -->
<div class="header">Html4頁眉</div>
<div class="main">Html4主體</div>
<div class="footer">Html4頁腳</div>
<!-- 不利與SEO的優化 -->
<!-- Html5語化布局標簽 -->
<header>Html5頁眉</header>
<main>這里是Html5主體</main>
<footer>這里是Html5頁腳</footer>
<address>我代表的是地址</address>
<mark>我是高亮標簽</mark>
<!-- 常用標簽 -->
<!-- 沒有任何標簽包裹的文本:匿名文本 -->
<strong>大家好啊。</strong>
<em>大家好啊。</em>
<span style="color: red">大家好?。。?lt;/span>
<p style="color: slategray">-----我是分切線-----</p>
<!-- 鏈接元素標簽 a -->
<a href="https://www.toutiao.com">默認當前窗口打開</a>
<a href="https://www.toutiao.com" target="_self">當前窗口打開</a>
<a href="https://www.toutiao.com" target="_blank">新窗口打開</a>
<p style="color: slategray">-----我是分切線-----</p>
<!-- 框架方式指定打開 使用target中對應iframe name參數-->
<a href="https://www.baidu.com" target="content"
>點我會在下方框架標簽中打開</a
>
<a href="https://www.qq.com" target="content">點我會在下方框架標簽中打開</a>
<iframe src="" frameborder="1" name="content"></iframe>
<p style="color: slategray">-----我是分切線-----</p>
<!-- 長用的A標簽屬性 -->
<a href="mailto:qqqq@qq.com">點我會調出發郵箱</a>
<a href="tel:15777777777">點我會打電話</a>
<p style="color: slategray">-----我是分切線-----</p>
<!-- 列表 -->
<!-- 無序列表 type="circle" 可修改列表前點樣式-->
<ul type="circle">
<li><a href="">首頁</a></li>
<li><a href="">關于我們</a></li>
<li><a href="">產品中心</a></li>
<li><a href="">在線地址</a></li>
</ul>
<!-- 有序列表 start="5" 可定義從5開始排序樣式-->
<ol start="5">
<li><input type="checkbox" name="" id="" /><a href="">首頁</a></li>
<li><input type="checkbox" name="" id="" /><a href="">關于我們</a></li>
<li><input type="checkbox" name="" id="" /><a href="">產品中心</a></li>
<li><input type="checkbox" name="" id="" /><a href="">在線地址</a></li>
</ol>
<!-- 有序列表 start="5" 可定義從5開始排序樣式-->
<dl>
<dt>聯系方式</dt>
<dd><a href="mailto:qqqq@qq.com">點我會調出發郵箱</a></dd>
<dd><a href="tel:15777777777">點我會打電話</a></dd>
<dd>
<a href=""> <address>我代表的是地址</address></a>
</dd>
<dt>備案號</dt>
<dd>京IPC備:xxxxx</dd>
</dl>
</body>
</html>
效果參考
使用DIV+CSS布局時,我們需要通過為div命名的方式,來區分網頁中不同的模塊。在HTML5中布局方式有了新的變化,HTML5中增加了新的結構標簽,如header標簽、nav標簽、article標簽等,具體介紹如下。
1. header標簽
HTML5中的header標簽是一種具有引導和導航作用的結構標簽,該標簽可以包含所有通常放在頁面頭部的內容。header標簽通常用來放置整個頁面或頁面內的一個內容區塊的標題,也可以包含網站Logo圖片、搜索表單或者其他相關內容。其基本語法格式如下:
<header>
<h1>網頁主題</h1>
...
</header>
在上面的語法格式中,<header></header>的使用方法和<div class="header"></div>類似。
注意:
在HTML網頁中,并不限制header標簽的個數,一個網頁中可以使用多個header標簽,也可以為每一個內容塊添加header標簽。
2. nav標簽
nav標簽用于定義導航鏈接,是HTML5新增的標簽,該標簽可以將具有導航性質的鏈接歸納在一個區域中,使頁面元素的語義更加明確。nav標簽的使用方法和普通標簽類似,例如下面這段示例代碼:
<nav>
<ul>
<li><a href="#">首頁</li>
<li><a href="#">公司概況</li>
<li><a href="#">產品展示</li>
<li><a href="#">聯系我們</li>
</ul></nav>
在上面這段代碼中,通過在nav標簽內部嵌套無序列表ul來搭建導航結構。通常一個HTML頁面中可以包含多個nav標簽,作為頁面整體或不同部分的導航。具體來說,nav標簽可以用于以下幾種場合。
● 傳統導航條:目前主流網站上都有不同層級的導航條,其作用是跳轉到網站的其他主頁面。
● 側邊欄導航:目前主流博客網站及電商網站都有側邊欄導航,目的是將當前文章或當前商品頁面跳轉到其他文章或其他商品頁面。
● 頁內導航:它的作用是在本頁面幾個主要的組成部分之間進行跳轉。
● 翻頁操作:翻頁操作切換的是網頁的內容部分,可以通過點擊“上一頁”或“下一頁”切換,也可以通過點擊實際的頁數跳轉到某一頁。
除了以上幾點以外,nav標簽也可以用于其他導航鏈接組中。需要注意的是,并不是所有的鏈接組都要被放進nav標簽,只需要將主要的和基本的鏈接放進nav標簽即可。
3. footer標簽
footer標簽用于定義一個頁面或者區域的底部,它可以包含所有放在頁面底部的內容。在HTML5出現之前,一般使用<div class="footer"></div>標簽來定義頁面底部,而現在通過HTML5的footer標簽可以輕松實現。與header標簽相同,一個頁面中可以包含多個footer標簽。
4. article標簽
article標簽代表文檔、頁面或者應用程序中與上下文不相關的獨立部分,該元素經常被用于定義一篇日志、一條新聞或用戶評論等。一個article標簽通常有它自己的標題(可以放在header標簽中)和腳注(可以放在footer標簽中),例如下面的示例代碼。
<article>
<header>
<h1>秋天的味道</h1>
<p>你想不想知道秋天的味道?它是甜、是苦、是澀...</p>
</header>
<footer>
<p>著作權歸XXXXXX公司所有...</p>
</footer></article>
需要注意的,在上面的示例代碼中還缺少主體內容。主體內容通常會寫在header和footer之間,通過多個section標簽進行劃分。一個頁面中可以出現多個article標簽,并且article標簽可以嵌套使用。
5. section標簽
section標簽表示一段專題性的內容,一般會帶有標題,主要應用在文章的章節中。例如,新聞的詳情頁有一篇文章,該文章有自己的標題和內容,因此可以使用article標簽標注,如果該新聞內容太長,分好多段落,每段都有自己的小標題,這時候就可以使用section標簽把段落標注起來。在使用section標簽時,需要注意以下幾點:
● section不僅僅是一個普通的容器標簽。當一個標簽只是為了樣式化或者方便腳本使用時,應該使用div標簽。
如果article標簽、aside標簽或nav標簽更符合使用條件,那么不要使用section標簽。
● 沒有標題的內容模塊不要使用section標簽定義。
值得一提的是,在HTML5中,article標簽可以看作是一種特殊的section標簽,它比section標簽更具有獨立性,即section標簽強調分段或分塊,而article標簽強調獨立性。如果一塊內容相對來說比較獨立、完整時,應該使用article標簽;但是如果想要將一塊內容分成多段時,應該使用section標簽。
6. aside標簽
aside標簽用來定義當前頁面或者文章的附屬信息部分,它可以包含與當前頁面或主要內容相關的引用、側邊欄、廣告、導航條等有別于主要內容的部分。aside標簽的用法主要分為兩種:
● 被包含在article標簽內作為主要內容的附屬信息。
● 在article標簽之外使用,作為頁面或網站的附屬信息部分。最常用的的使用形式是側邊欄。
HTML是web開發中三大規范之一,可以參考:Web前端開發-HTML入門干貨 。
HTML產生于1990年,1997年的HTML4.0成為互聯網標準并廣泛應用,HTML5是在HTML4.01(1999年發布)的基礎上發展而來,在2008年正式發布,在2012年形成了穩定版本。
其實在HTML4.01之后,W3C組織除了HTML5之外,為了嚴格html編寫規范,發布了XHTML。經過了跌宕起伏的分歧、融合之路,本來預計要逐步被XHTML替代的HTML5,最終成了W3C組織確認的html規范。
在HTML5規范中添加了很多新元素及功能,比如: 更好的頁面結構(語義化標簽)、圖形的繪制(畫布)、多媒體(音頻、視頻)內容、智能表單、地理位置、數據存儲以及多線程等。
可以通過html5test.com網站,測試HTML5各標簽在各類瀏覽器中支持程度。
html5test.com
PC瀏覽器各版本支持HTML5考量
移動瀏覽器各版本支持HTML5考量
對于IE6、7、8來講,支持極少部分的HTML5新標簽,IE9也是部分支持。
在低版本瀏覽器中兼容使用HTML5標簽,有兩種方案,一:自定義標簽;二:使用第三方js插件
(1)自定義標簽
可以利用添加自定義標簽的方式為IE 瀏覽器添加 HTML5 元素。
<script>
//可以使用自定義標簽
document.createElement("header");
document.createElement("article");
document.createElement("aside");
document.createElement("section");
document.createElement("footer");
</script>
但是Internet Explorer 8 及更早 IE 版本的瀏覽器不支持以上的方式,所以采用以下方式。
(2)利用第三方js插件
html5shiv.js是第三方插件,能夠解決IE9以下瀏覽器對html5新增標簽的不識別,并導致CSS不起作用的問題。
<head>
<meta charset="utf-8">
<title>渲染 HTML5</title>
<!-- 專門針對IE瀏覽器的語句,且只能被IE9識別,其他瀏覽器將以下if endif語句認為是注釋 -->
<!--[if lt IE 9]>
<script src="http://apps.bdimg.com/libs/html5shiv/3.7/html5shiv.min.js"></script>
<![endif]-->
</head>
<!--[if !IE]><!--> 除IE外都可識別 <!--<![endif]-->
<!--[if IE]> 所有的IE可識別 <![endif]-->
<!--[if IE 6]> 僅IE6可識別 <![endif]-->
<!--[if lt IE 6]> IE6以及IE6以下版本可識別 <![endif]-->
<!--[if gte IE 6]> IE6以及IE6以上版本可識別 <![endif]-->
<!--[if IE 9]> 僅IE9可識別 <![endif]-->
(1)語義化標簽
相對于無具體含義的div和span標簽,語義化標簽的優點是方便搜索引擎能識別頁面結構,有利于SEO。
header:該標簽定義了頁面的頭部區域;
nav:該標簽定義了頁面的導航鏈接區域;
footer:該標簽定義了頁面或section的頁腳;
section:該標簽定義了頁面區域;
article:該標簽定義了頁面的內容區域;
(2)多媒體標簽
1)視頻標簽
video:用來定義視頻內容,支持多種視頻格式,包括.mp4、.ogg、.webm等,最常用的是.mp4。
<body>
<!-- src屬性設置視頻源,
width、height設置視頻大小,單位是像素,
autoplay屬性設置自動播放,
對于google瀏覽器需要添加muted屬性,表示靜音播放,
controls屬性設置播放控件,包括播放、暫停等,
loop屬性設置視頻循環播放,
poster屬性設置視頻封面,
-->
<video
src="media/xiaomitv.mp4"
width="300"
height="100"
autoplay="autoplay"
muted="muted"
controls="controls"
loop="loop"
poster="images/a.jpg"
></video>
</body>
還可以采用如下代碼,兼容多種格式的視頻文件
<video width="320" height="240" controls="controls">
<source src="movie.mp4" type="video/mp4" />
<source src="movie.ogg" type="video/ogg" />
<source src="movie.webm" type="video/webm" />
Your browser does not support the video tag.
</video>
2)音頻標簽
audio:用來定義音頻內容,支持多種音頻格式,包括.mp3、.wav、.ogg等,最常用的是.mp3。
音頻標簽的用法和視頻標簽的基本一樣,屬性及屬性值含義也基本一樣。
Google的chrome瀏覽器將音頻、視頻自動播放給默認禁止了,視頻可以通過添加靜音播放折中解決,但是音頻單獨通過html標簽和屬性是不能解決的,需要js配合使用。
(3)智能表單標簽
1)新增input類型
tel:限制輸入電話號碼,目前只有 Safari 8 支持 tel 類型;
email:在提交時驗證輸入內容是否符合郵箱格式;
date:限制輸入的內容為日期,瀏覽器會彈出日期選擇器;
time:限制輸入的內容為時間,瀏覽器會彈出日期選擇器;
number:限制輸入的內容僅為數字;
url:在提交時驗證輸入內容是否符合url格式;
<form action="">
<ul>
<li>搜索:<input type="search" name="" id="" /></li>
<li>電話:<input type="tel" /></li>
<li>郵箱:<input type="email" /></li>
<li>日期:<input type="date" /></li>
<li>時間:<input type="time" /></li>
<li>數量:<input type="number" min="1" max="5"/></li>
<li>網址:<input type="url" /></li>
<li>附件:<input type="file" /></li>
<li><input type="submit" /></li>
</ul>
</form>
2)新增input的屬性
min和max屬性可以限制數字的最值,可以限制日期、時間類型的最值;其屬性值為具體內容。
required屬性表示必填項;其屬性值為required。
placeholder屬性表示提示信息,其屬性值為提示信息。
multiple屬性表示input類型為file時,可以文件多選;其屬性值為multiple。
autocomplete屬性表示是否顯示之前提及過的文本信息;其屬性值為on或者off。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。