html5 總結-新增重要標籤及屬性

綜述

 這段時間,一直在溫故前端的東西,發現了很多不足(更應該說不會吧)。前端的學習方法,更多的是記憶和經驗。html5相對於html4而言。主要有以下幾點改進。

  1. 語義化標籤增多,結構更清晰
  2. 方便性、功能性增強,對程序員更友好
  3. 很多東西,還沒有得到瀏覽器的完全支持,注意兼容性

新增的重要標籤

audio

處理音頻,因爲有些瀏覽器不支持某些音頻格式。需要轉化或者準備多個
詳細介紹:w3c

<audio controls>你的瀏覽器不支持audio
    <source src="test.mp3" type="audio/mp3">
    <source src="test.ogg" type="audio/ogg">
</audio>

video

播放視頻,注意兼容性。轉化工具:Miro Video Converter

<video controls width="640px" height="320px" poster="test.png">你的瀏覽器不支持video
    <source src="test.mp4" type="video/mp4">
    <source src="test.webm" type="video/webm">
</video>

js處理視頻及相關屬性

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>video</title>
    <script type="text/javascript">
     var video;
     function init(){
        video = document.getElementById('video1');
        //監聽結束事件,第三個參數爲在捕獲過程中執行
        video.addEventListener("ended", function(){
            alert("播放結束");
        },true);
        //監聽錯誤事件,第三個參數爲在冒泡過程中執行
        video.addEventListener("error",function(){
            switch (video.error.code){
                default:alert("發生未知錯誤");break;
            }
        },false);   
     }
     function play(){
        video.play();
     }
     function pause(){
        video.pause();
     }
    </script>
</head>
<body onload="init()">
<video controls width="640px" height="320px" poster="test.png" id="video1">你的瀏覽器不支持video
    <source src="test.mp4" type="video/mp4">
    <source src="test.webm" type="video/webm">
</video>
<p>
    <button onclick="play()">播放</button>
    <button onclick="pause()">暫停</button>
</p>
</body>
</html>

article

代表的是一塊獨立的內容(模塊),例如一篇文章,帖子。類似於html4中的div元素,是div的細分。

<article>
    <header>
        <h1>呆萌的來歷</h1>
    </header>
    <p>呆萌來源於一個同學的名字,他就叫呆萌。。。</p>
    <footer>
        <p>發表日期:2015:3:29</p>
    </footer>
</article>

section

翻譯爲“部分”,比如頁眉頁腳或者文章中的區塊(覺得還是div方便吧,但是這個和上面的都是爲了語義化好點)

  • 當沒有標題時,不要使用section。
  • 當article,aside,nav元素更適合時,不要使用section元素。
  • 不要講其當做設置樣式的容器,那是div做的
<section>
    <header>
        <h1>呆萌的來歷</h1>
    </header>
    <p>呆萌來源於一個同學的名字,他就叫呆萌。。。</p>
    <footer>
        <p>發表日期:2015:3:29</p>
    </footer>
</section>

nav

導航欄的語義化標籤,類似於div

<nav>
<ul>
    <li>聯繫信息</li>
    <li>個人經驗</li>
    <li>求職意向</li>
</ul>
</nav>

aside:旁白。用來表示文章或者頁面的附屬信息

<header>    
    <h1>F#入門</h1>  
</header>  
<article>  
    <h1>第四節 詞法閉包</h1>  
    <p>lambda表達式可以創建詞法閉包...(文章正文)</p>    
    <aside>      
        <!-- 因爲這個aside元素被放置在一個article元素內部,
        所以分析器將這個aside元素的內容理解成是和article元素的內容相關聯的。 -->      
        <h1>名詞解釋</h1>      
        <dl>        
            <dt>F#</dt>        
            <dd>F#爲.Net2010中引入的新型函數型編程語言</dd>      
        </dl>    
        <dl>        
            <dt>詞法閉包</dt>        
            <dd>詞法閉包是指,將創建lambda表達式時的環境保存起來...(詳細解釋)</dd>      
       </dl>       
    </aside>  
</article>

header:區塊的頭部部分,一個網頁內可以擁有多個header

<header>
    <h1>網頁標題</h1>
</header>
<article>
    <header>
        <h1>文章標題</h1>
    </header>    
    <p>文章正文</p>
</article>

footer:區塊的底部部分,通常包括腳註信息.類似於header,可以放在section,article,div,body等元素中。

hgroup:將標題進行分組,適用於含有多個h系列標籤

<article>
    <header>
        <hgroup>
            <h1>文章主標題</h1>
            <h2>文章子標題</h2>
        </hgroup>
        <p><time datetime="2010-03-20">2010年10月29日</time></p>
    </header>
    <p>文章正文</p>
</article>

address:顯示聯繫信息,不僅僅是地址或者郵箱

time:用來語義化顯示時間

figure/figcation:實現帶標題的插圖

mark:高亮顯示,類似於strong

新增的全局屬性

contentEditable:是否可被重新編輯

hidden:是否被隱藏

spellcheck:對輸入內容進行拼寫和語法檢查(input(type=text)),textarea

跨瀏覽器支持

增加標籤識別

<style>
article,asiede,audio,canvas,datalist,details,fication,figure,footer,header,hgroup,menu,nav,section,video{
    display:block;
}
</style>

<script type="text/javascript">
document.ctreatElement('article');
document.ctreatElement('aside');
document.ctreatElement('audio');
document.ctreatElement('abbr');
....
</script>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章