使用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標簽之外使用,作為頁面或網站的附屬信息部分。最常用的的使用形式是側邊欄。
例
部分文本高亮顯示:
<p>Do not forget to buy <mark>milk</mark> today.</p>
瀏覽器支持
Internet Explorer 9+、Firefox、Opera、Chrome 和 Safari 支持 <mark> 標簽。
注意:Internet Explorer 8 及更早版本不支持 <mark> 標簽。
標簽定義及使用說明
<mark> 標簽定義帶有記號的文本。
請在需要突出顯示文本時使用 <mark> 標簽。
HTML 4.01 與 HTML5之間的差異
<mark> 是 HTML5 新標簽。
全局屬性
<mark> 標簽支持全局屬性,查看完整屬性表 HTML全局屬性。
事件屬性
<mark> 標簽支持所有 HTML事件屬性。
如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!
錄:
HTML5新結構標簽
HTML5新其他標簽
HTML5新input類型
HTML5新屬性
HTML5高級應用
html4和html5對比:
Html4代表示例:
<div id=“header”></div>
<div id=“nav”></div>
<div class=“section”>
<div class=“article”></div>
</div>
<div id=“sideBar”></div>
<div id=“footer”></div>
Html5代碼示例:
<header></header>
<nav></nav>
<section>
<article></article>
</section>
<aside></aside>
<footer></footer>
HTML5新結構標簽:
<header></header>頁頭
<footer></footer>頁腳
<nav></nav>導航
<section></section>內容區塊
<article></article>文章區塊
<aside></aside>article之外的信息
<hgroup></hgroup>標題組
<figure></figure>數據組
<figcaption></figcaption>數據組標題
<header></header>用法
<header>
<h1>網頁標題</h1>
</header>
<article>
<header>
<h1>文章標題</h1>
</header>
<p>文章正文內容</p>
</article>
<footer></footer>用法
<article>
文章主體
<footer>
文章腳注
</footer>
</article>
<footer>
<ul>
<li>站內鏈接</li><li>站內鏈接</li><li>站內鏈接</li>
</ul>
</footer>
<nav></nav>用法
<nav>
<ul>
<li><a href=“#”>鏈接內容</a></li>
<li><a href=“#”>鏈接內容</a></li>
<li><a href=“#”>鏈接內容</a></li>
</ul>
</nav>
<section></section>用法
<section>
<h1>標題</h1>
<p>內容</p>
</section>
<article></article>用法
<article>
<header>
<h1></h1>
</header>
<footer>
<ul><li></li></ul>
</footer>
</article>
<aside></aside>用法
<article>
<h1>文章標題</h1>
<p>內容</p>
<aside>相關內容</aside>
</article>
<hgroup></hgroup>用法
<article>
<header>
<hgroup>
<h1>主標題</h1>
<h2>子標題</h2>
</hgroup>
</header>
<p>正文</p>
</article>
<figure></figure>用法
<figure>
<figcaption>標題</figcaption>
<img src=“a.jpg”>
<img src=“b.jpg”>
<img src=“c.jpg”>
</figure>
新元素標簽追加樣式:
說明:因為很多瀏覽器還未支持html5新元素,須對新元素追加如下說明
//追加block說明
article,aside,dialog,figure,footer,header,legend,nav,section{display:block}
另:ie8前的瀏覽器不支持css方法追加,須用如下方法:
<script>
document.createElement(“header”);
document.createElement(“nav”);
document.createElement(“article”);
document.createElement(“footer”);
</script>
HTML5新其他標簽:
<video></video>視頻
<audio></audio>音頻
<embed></embed>多媒體
<mark></mark>標記
<time></time>時間
<wbr></wbr>軟換行
<canvas></canvas>繪圖
<video></video>用法
<video src=“test.ogg" controls="controls"></video>
<audio></audio>用法
<audio src=“test.wav"></audio>
<embed></embed>用法
<embed src=“test.swf"></embed>
<mark></mark>用法
<p>謝謝您光臨本站 <mark>段先生</mark>。</p>
<time></time>用法
<p>早上 <time>9:00</time> 上班。</p>
<p>我在 <time datetime="2016-02-14">情人節</time> 有個約會。</p>
<wbr></wbr>用法
<p>學好網頁設計必須要學會的軟件有:
<wbr />photoshop<wbr />dreamweaver<wbr />flash。
</p>
<canvas></canvas>用法
語法:
<canvas></canvas>
注:canvas標簽只是圖形容器,您必須使用腳本來繪制圖形。
使用范例:
<canvas id="myCanvas"></canvas>
<script>
var canvas=document.getElementById('myCanvas');
var ctx=canvas.getContext('2d');
ctx.fillStyle='#FF0000';
ctx.fillRect(0,0,80,100);
</script>
HTML5新input類型:
<input type=“email” />e-mail地址文本框
<input type=“url” />url地址文本框
<input type=“number” />數值文本框
<input type=“range” />數值范圍文本框
日期相關類型:
<input type=“date” />
<input type=“month” />
<input type=“week” />
<input type=“time” />
<input type=“datetime” />
<input type=“datetime-local” />
HTML5新屬性:
表單相關屬性
鏈接相關屬性
其他屬性
全局屬性
表單相關屬性
autocomplete屬性
autofocus屬性 自動獲得焦點屬性
placeholder屬性 提示信息屬性
form屬性 表單聲明屬性
required屬性 內容檢驗屬性
鏈接相關屬性
<a><area>新加media屬性
<area>新加hreflang屬性
<link>新加sizes屬性
<base>新加target屬性
其他屬性
<ol>新加reversed屬性
<meta>新加charset屬性
<menu>新加type和label屬性
<style>新加scoped屬性
<script>新加async屬性
<iframe>新加sandbox,seamless,srcdoc
全局屬性
可編輯內容屬性contentEditable
頁面可編輯屬性designMode
隱藏元素屬性hidden
拼寫檢查屬性spellcheck
焦點獲取屬性tabindex
HTML5高級應用
繪圖應用canvas
多媒體控制
表單驗證
繪圖應用canvas
用canvas繪制圖形
用canvas繪制漸變色
用canvas繪制變形圖形
繪制圖像
動畫效果
用canvas繪制圖形——繪制矩形
獲取canvas元素
獲取2d圖形(獲取上下文)
設定繪圖樣式fillStyle,strokeStyle
設定線寬lineWidth
用canvas繪制圖形——繪制路徑
獲取canvas元素
獲取2d圖形(獲取上下文)
創建路徑beginPath()
創建圓形路徑arc(x,y,radius,startAngle,endAngle,anticlockwise)
關閉路徑closePath()
用canvas繪制圖形——繪制圓形
var canvas = document.getElementById("mycanvas");
var ctx = canvas.getContext("2d");
ctx.arc(150,100,100,0,(Math.PI/180)*360,true);
ctx.fillStyle="rgba(255,0,0,0.4)";
ctx.fill();
用canvas繪制圖形——繪制三角
方法moveTo(x,y),lineTo(x,y):
var obj = document.getElementById("mycanvas");
var context = obj.getContext("2d");
context.strokeStyle="red";
context.moveTo(0,0);
context.lineTo(10,100);
context.lineTo(130,100);
context.lineTo(0,0);
context.stroke();
用canvas繪制圖形——繪制弧線
方法bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y))
var obj = document.getElementById("mycanvas");
var context = obj.getContext("2d");
context.strokeStyle="red";
context.moveTo(0,0);
context.bezierCurveTo(10,0,100,0,100,100);
context.stroke();
用canvas繪制漸變色——繪制線性漸變
方法createLinearGradient(xStart,yStart,xEnd,yEnd);
方法addColorStop(offset,color);
var obj = document.getElementById("mycanvas");
var context = obj.getContext("2d");
var objLg = context.createLinearGradient(0,100,500,100);
objLg.addColorStop(0,"red");
objLg.addColorStop(0.5,"green");
objLg.addColorStop(1,"blue");
context.fillStyle=objLg;
context.fillRect(0,0,500,300);
用canvas繪制漸變色——繪制放射漸變
方法createRadialGradient(x0,y0,r0,x1,y1,r1);
方法addColorStop(offset,color);
var obj = document.getElementById("mycanvas");
var context = obj.getContext("2d");
var rg = context.createRadialGradient(50,50,0,50,50,50);
context.createR
rg.addColorStop(0,"red");
rg.addColorStop(1,"green");
context.fillStyle=rg;
context.fillRect(0,0,150,150);
用canvas繪制變形圖形——平移
方法:translate(x,y);
var obj = document.getElementById("mycanvas");
var context = obj.getContext("2d");
context.translate(100,150);
context.fillStyle="red";
context.fillRect(0,0,200,200);
用canvas繪制變形圖形——縮放
方法:scale(x,y);
var obj = document.getElementById("mycanvas");
var context = obj.getContext("2d");
context.scale(2,2);
context.fillStyle="red";
context.fillRect(0,0,10,10);
用canvas繪制變形圖形——旋轉
方法:rotate (angle);
var obj = document.getElementById("mycanvas");
var context = obj.getContext("2d");
context.rotate(Math.PI/180*5);
context.fillStyle="red";
context.fillRect(0,0,100,100);
繪制圖像
方法:drawImage(image,x,y,w,h)
var obj = document.getElementById("mycanvas");
var context = obj.getContext("2d");
var image = new Image();
image.src="img.jpg";
context.drawImage(image,0,0,500,300);
圖像平鋪
方法:createPattern(image,type)
var obj = document.getElementById("mycanvas");
var context = obj.getContext("2d");
var img = new Image();
img.src="img.jpg";
var ptrn = context.createPattern(img,"repeat");
context.fillStyle=ptrn;
context.fillRect(0,0,2000,2000);
請私信我回復“666”,為嚴哥打Call~,還有更多驚喜哦~
....................................................................
我的微信公眾號:UI嚴選 —越努力,越幸運
*請認真填寫需求信息,我們會在24小時內與您取得聯系。