整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          還只會用div布局嗎?快來學習下使用HTML5新語義

          還只會用div布局嗎?快來學習下使用HTML5新語義化標簽吧

          曾幾何時,前端的頁面布局一直采用div,但是div本身并沒有實際的意義,它只是定義了一個區域,而且這個區域是做什么的瀏覽器并不知道,不利于頁面的SEO優化。

          因此HTML5中新增的語義化標簽就很好的解決了這個問題,當然它還有其他一些好處,接下來我們就一起來看看吧。

          HTML5

          語義化標簽的優點

          • 即使在沒有CSS的支持下,瀏覽器依然能呈現出良好的內容結構。

          • 有利于SEO,語義化的標簽更有利于爬蟲去解析更多有效信息。

          • 跨設備體驗,不同設備都支持語義化標簽,那么即使在不同設備下依然可以有無縫體驗。

          • 便于代碼開發和維護,語義化可以增加代碼的可讀性,讓團隊成員可以更好理解彼此的代碼意圖。

          HTML5新增的語義化標簽

          那么在HTML5中新增了哪些利于頁面布局的HTML5標簽呢?

          我們先通過以下這張圖來看看。

          HTML5新增語義化標簽

          header標簽

          header標簽表示頁面或一個區域(section)的頁眉部分,通常在里面包含h1-h6標簽來使用。

          我們直接通過代碼來看看在瀏覽器上的效果。

          header標簽效果

          footer標簽

          footer標簽和header標簽類似,表示頁面或一個區域(section)的頁腳部分,通常會將網站的證書,許可,版權協議等內容放在這塊。

          footer標簽

          hgroup標簽

          hgroup標簽一般用于h1-h6標簽的組合,比如主標題,副標題,三級標題的組合情況。

          我們通過以下代碼段來看看其代碼組織形式。

          hgroup標簽

          需要注意的一點是,如果需要使用hgroup標簽則保證在hgroup標簽里至少有兩個h標簽,如果只有一個h標簽,則應該去掉hgroup標簽。

          nav標簽

          nav標簽主要用于定義頁面的導航部分,例如頁面或者section中的側邊目錄欄。

          其使用方式如下代碼段所示。

          nav標簽

          aside標簽

          aside標簽一般會指定網頁的相關內容,友情鏈接等附注性的東西,類似于廣告也可以使用aside標簽。

          main標簽

          main標簽定義一個頁面的主要內容,在一個頁面中只能使用一次。

          article標簽

          article標簽表示的是一個獨立完整的內容區域,比如一張報紙的某個獨立版塊。

          在article標簽內部可以包含其他語義化標簽,其基本使用如下所示。

          article標簽

          section標簽

          section標簽表示的是文檔中內容的分節或分段,上述的article,nav或者aside其實都可以看做特殊的section標簽,如果能用article,nav,aside標簽,最好不要用section標簽。

          section標簽與與article標簽可以互相嵌套,需要視具體情況而定。

          結束語

          如果你的布局還是只有div,那么看完了今天這篇文章后完全可以嘗試下新的HTML5標簽噢。

          感興趣的同學可以加下我自己創建的Q群,大家相互學習交流,我也會盡力維護好群環境,群號如下所示。

          號碼

          增的HTML5結構標簽

          結構標簽:(塊級元素) 有意義的div

          標簽含義
          <article>定義獨立的、完整的相關內容塊
          <header>定義一個頁面或一個區域的頭部內容
          <nav>定義導航類輔助內容
          <section>定義一塊區域
          <aside>定義頁面非正式內容部分的側邊欄
          <hgroup>定義h1~h6標題組合
          <figure>定義元素的組合,多用于圖片與圖片描述組合
          <figcaption>定義 figure元素的描述
          <footer>定義一個頁面或一個區域的底部內容

          傳統div+css布局方式

          HTML5布局方式

          div+css布局方式和HTML5布局方式的區別、意義

          .HTML5是什么

          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規范中添加了很多新元素及功能,比如: 更好的頁面結構(語義化標簽)、圖形的繪制(畫布)、多媒體(音頻、視頻)內容、智能表單、地理位置、數據存儲以及多線程等。

          2.支持HTML5的瀏覽器版本

          可以通過html5test.com網站,測試HTML5各標簽在各類瀏覽器中支持程度。

          html5test.com

          PC瀏覽器各版本支持HTML5考量

          移動瀏覽器各版本支持HTML5考量

          對于IE6、7、8來講,支持極少部分的HTML5新標簽,IE9也是部分支持。

          3.如何解決低版本瀏覽器兼容HTML5標簽

          在低版本瀏覽器中兼容使用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]-->

          4.新增常用的HTML5標簽

          (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。


          主站蜘蛛池模板: 一区二区三区观看| 精品一区二区三区视频在线观看| 亚洲国产国产综合一区首页| 国产乱码一区二区三区| 国产日韩高清一区二区三区 | 日韩精品一区二区午夜成人版 | 一区二区三区无码高清视频| 少妇激情AV一区二区三区| 亚洲AV成人精品日韩一区18p | 国产精品亚洲一区二区三区在线观看| 亚洲一区精品中文字幕| 红桃AV一区二区三区在线无码AV| 国产一区二区三区不卡在线观看| 国产手机精品一区二区| 亚洲福利视频一区| 色狠狠一区二区三区香蕉| 激情综合一区二区三区| AV天堂午夜精品一区| 一区二区三区波多野结衣| 日本精品一区二区三区在线视频| 日本一区二区三区不卡视频| 99久久精品日本一区二区免费| 日本一区二区在线播放| 亚洲综合一区二区国产精品| 久久精品一区二区三区不卡| 中文字幕人妻无码一区二区三区| 国产精品被窝福利一区 | 成人乱码一区二区三区av| 一区二区不卡久久精品| 波多野结衣一区二区三区高清av| 国产精品一区二区三区高清在线 | 国产一区二区三区高清视频| 国产精品被窝福利一区| 中文字幕精品一区| 高清一区二区三区免费视频| 91亚洲一区二区在线观看不卡| 3d动漫精品一区视频在线观看 | 久久精品国产一区二区三| 在线播放国产一区二区三区| 久久国产精品无码一区二区三区| 日韩精品一区二区三区色欲AV|