HTML5新特性基礎知識問答

一岭妖、問答

(一)临庇、不管是招聘還是聊天經(jīng)常能聽到 h5開發(fā),它指的是什么昵慌?和 HTML5有什么關系?

h5開發(fā)其實就是指利用前端技術在手機頁面上呈現(xiàn)有聲音及畫面的動態(tài)酷炫效果的頁面開發(fā)假夺,其實稱作h5不專業(yè),這是大家都這么叫斋攀,然后就成為約定俗成的概念了已卷。日常大家說的h5與HTML5其實沒多大關系,HTML5是HTML最新的修訂版本淳蔼,2014年10月由萬維網(wǎng)聯(lián)盟(W3C)完成標準制定侧蘸。目標是取代1999年所制定的HTML 4.01和XHTML 1.0標準,以期能在網(wǎng)際網(wǎng)路應用迅速發(fā)展的時候鹉梨,使網(wǎng)路標準達到符合當代的網(wǎng)路需求讳癌。也就是說HTML5是一個標準,其跟h5不是同一個概念存皂。

(二)晌坤、HTML5是什么逢艘?有哪些新特性?有哪些新增標簽骤菠?如何讓低版本的 IE 支持 HTML5新標簽它改?
  • HTML5是HTML最新的修訂版本,2014年10月由萬維網(wǎng)聯(lián)盟(W3C)完成標準制定商乎。目標是取代1999年所制定的HTML 4.01和XHTML 1.0標準央拖,以期能在網(wǎng)際網(wǎng)路應用迅速發(fā)展的時候,使網(wǎng)路標準達到符合當代的網(wǎng)路需求鹉戚。

  • HTML5 中的一些有趣的新特性:
    用于繪畫的 canvas 元素
    用于媒介回放的 video 和 audio 元素
    對本地離線存儲的更好的支持
    新的特殊內(nèi)容元素鲜戒,比如 article、footer崩瓤、header袍啡、nav、section
    新的表單控件却桶,比如 calendar境输、date、time颖系、email嗅剖、url、search

  • 新增的標簽有:

1嘁扼、<canvas> 新元素
Paste_Image.png
2信粮、新多媒體元素
Paste_Image.png
3、新表單元素
Paste_Image.png
4趁啸、新的語義和結構元素
Paste_Image.png
5强缘、已移除的元素
Paste_Image.png
  • 對于低版本的IE 我們可以采用以下方法使得其支持HTML5:
    我們可以使用 Sjoerd Visscher 創(chuàng)建的 "HTML5 Enabling JavaScript", "** shiv**" 來解決該問題:
<!--[if lt IE 9]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

以上代碼是一個注釋,作用是在 IE 瀏覽器的版本小于 IE9 時將讀取 html5.js 文件不傅,并解析它旅掂。
由于國內(nèi)谷歌服務器被墻,我們可以使用如下資源

<!--[if lt IE 9]>
  <script src="http://cdn.static.runoob.com/libs/html5shiv/3.7/html5shiv.min.js"></script>
<![endif]-->

值得注意的是html5shiv.js 引用代碼必須放在 <head> 元素中访娶,因為 IE 瀏覽器在解析 HTML5 新元素時需要先加載該文件商虐。

(三)、input 有哪些新增類型崖疤?

有以下新增類型:

color //用在input字段主要用于選取顏色
date // 允許你從一個日期選擇器選擇一個日期
datetime //  允許你選擇一個日期(UTC 時間)
datetime-local // 你選擇一個日期和時間 (無時區(qū)).
email //  用于應該包含 e-mail 地址的輸入域
month // 允許你選擇一個月份秘车。
number // 用于應該包含數(shù)值的輸入域。
range // 用于應該包含一定范圍內(nèi)數(shù)字值的輸入域劫哼。
search // 用于搜索域叮趴,比如站點搜索或 Google 搜索。
tel // 定義輸入電話號碼字段
time // 類型允許你選擇一個時間权烧。
url // 用于應該包含 URL 地址的輸入域眯亦。
week // week 類型允許你選擇周和年咳蔚。
(四)、瀏覽器本地存儲中 cookie 和 localStorage 有什么區(qū)別搔驼? localStorage 如何存儲刪除數(shù)據(jù)。
Paste_Image.png
  • 另外還要補充下三者之間作用域的區(qū)別:
    cookie的作用域是所有窗口都是共享的侈询,和localStorage一樣舌涨;而sessionStorage的作用域是僅當前窗口有效,即使是同一個頁面扔字,也就是說不同的瀏覽器窗口它們之間不共享存儲的數(shù)據(jù)囊嘉。

舉個例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>

    <button>點我</button>
    <p>我將顯示點擊次數(shù)</p>
    <script>
    document.getElementsByTagName("button")[0].addEventListener("click",function(){
        if(typeof(Storage)!==undefined){
            if (sessionStorage.clickNumShow){
            sessionStorage.clickNumShow=Number(sessionStorage.clickNumShow)+1;
            document.getElementsByTagName("p")[0].innerHTML="你點了:"+Number(sessionStorage.clickNumShow)+"次";

             }else{sessionStorage.clickNumShow=1}

        }else{alert("你的瀏覽器不支持HTML5中的Storage數(shù)據(jù)存儲")}

        })

    </script>
    
</body>
</html>

我用瀏覽器打開兩個頁面,發(fā)現(xiàn)它們之間的數(shù)據(jù)是獨立的革为,當我刷新及強制刷新(ctr+F5)數(shù)據(jù)都不會丟失扭粱,但是當我關閉窗口再打開(不是通過ctr+shift+t的方式恢復標簽頁)則數(shù)據(jù)會歸零了。

而如果我將上面的sessionStorage改成localStorage震檩,則發(fā)現(xiàn)兩個頁面的數(shù)據(jù)是共享的琢蛤,且我關閉頁面后數(shù)據(jù)還存在,不會歸零抛虏。

  • 操作數(shù)據(jù)的用法:
保存數(shù)據(jù):localStorage.setItem(key,value);
讀取數(shù)據(jù):localStorage.getItem(key);
刪除單個數(shù)據(jù):localStorage.removeItem(key);
刪除所有數(shù)據(jù):localStorage.clear();
得到某個索引的key:localStorage.key(index);

//以上localStorage(沒有時間限制的數(shù)據(jù)存儲)都可被替換
//成 sessionStorage(針對一個 session 的數(shù)據(jù)存儲)

二博其、代碼

實現(xiàn)如下效果

1、標簽可在“全部”和“訂閱"兩個欄目來回拖動
2迂猴、實現(xiàn)方式參考 例子

  • 方法一:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        ul,li{
            list-style: none;
        }
        li{
            float: left;
            width: 40px;
            background-color: #aaa;
            padding: 10px;
            margin: 10px;
            text-align: center;
        }
        ul:after{
            clear: both;
            display: block;
            content: "";

        }
        ul{
            min-height: 40px;
            border: 1px solid #ccc;
        }

    </style>
    <script>
       function drag (ev) {
           ev.dataTransfer.setData("Text",ev.target.id);

       }
       function drop(ev) {
           ev.preventDefault();
           if (ev.target.tagName.toLocaleLowerCase()==="li"){return}
          var  data=ev.dataTransfer.getData("Text");
           ev.target.appendChild(document.getElementById(data));

       }
       function allowDrop(ev) {
           ev.preventDefault();

       }

    </script>
    <script>

    </script>
</head>
<body>
<!--<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)">-->
    <!--<!–被拖動對象 設置成可拖動屬性慕淡,dragstart 事件里setData以存儲數(shù)據(jù)  –>-->
    <!--![](http://upload-images.jianshu.io/upload_images/2166980-12c67965ac7fcb2a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)-->
<!--</div>-->
   <!--<!–目標對象 1、dragover 阻止默認事件 2沸毁、drop事件   (2.1)阻止默認事件  (2.2) getData (2.3) appendChild–>-->
<!--<div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)"></div>-->

 <h1>全部</h1>
<ul id="all" ondragover="allowDrop(event)" ondrop="drop(event)" >
    <li draggable="true" ondragstart="drag(event)" id="drag0">軍事</li>
    <li draggable="true" ondragstart="drag(event)" id="drag1">浙江</li>
    <li draggable="true" ondragstart="drag(event)" id="drag2">手機</li>
    <li draggable="true" ondragstart="drag(event)" id="drag3">宇宙</li>
    <li draggable="true" ondragstart="drag(event)" id="drag4">娛樂</li>
    <li draggable="true" ondragstart="drag(event)" id="drag5">美妝</li>
    <li draggable="true" ondragstart="drag(event)" id="drag6">汽車</li>
    <li draggable="true" ondragstart="drag(event)" id="drag7">科技</li>
</ul>
<h1>訂閱</h1>
<ul id="take" ondragover="allowDrop(event)" ondrop="drop(event)">

</ul>

</body>
</html>

預覽地址:https://github.com/have-not-BUG/task/blob/master/renwu/task43/%E6%96%B9%E6%B3%95%E4%B8%80%E9%9D%9E%E6%AD%A3%E4%BA%A4%E6%B3%95.html

方法二:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        ul,li{
            list-style: none;
        }
        li{
            float: left;
            width: 40px;
            background-color: #aaa;
            padding: 10px;
            margin: 10px;
            text-align: center;
        }
        ul:after{
            clear: both;
            display: block;
            content: "";

        }
        ul{
            min-height: 40px;
            border: 1px solid #ccc;
        }

    </style>

</head>
<body>

<h1>全部</h1>
<ul id="all">
    <li draggable="true" id="drag0">軍事</li>
    <li draggable="true"  id="drag1">浙江</li>
    <li draggable="true"  id="drag2">手機</li>
    <li draggable="true"  id="drag3">宇宙</li>
    <li draggable="true"  id="drag4">娛樂</li>
    <li draggable="true" id="drag5">美妝</li>
    <li draggable="true"  id="drag6">汽車</li>
    <li draggable="true"  id="drag7">科技</li>
</ul>
<h1>訂閱</h1>
<ul id="take">

</ul>

<script>
    dragEles=document.querySelectorAll("ul li");
    dropAll=document.querySelector("#all");
    dropTake=document.querySelector("#take");

    for(var i=0;i<dragEles.length;i++){

        dragEles[i].ondragstart=function (ev) {
            ev.dataTransfer.setData("Text",ev.target.id)
            
        }
    }
    dropAll.ondragover=dragoverAllow;
    dropAll.ondrop=ondropAllow;

    dropTake.ondragover=dragoverAllow;
    dropTake.ondrop=ondropAllow;
    
    function ondropAllow (ev) {
        if(ev.target.tagName.toLowerCase() === 'li') return;
        ev.preventDefault();
        var data=ev.dataTransfer.getData("Text");
        ev.target.appendChild(document.getElementById(data))

    }
    function dragoverAllow (ev) {
        ev.preventDefault();
    }

    


</script>

</body>
</html>

預覽地址:https://github.com/have-not-BUG/task/blob/master/renwu/task43/%E6%96%B9%E6%B3%95%E4%BA%8C.html

**本文版權歸本人即簡書筆名:該賬戶已被查封 所有峰髓,如需轉(zhuǎn)載請注明出處。謝謝息尺! *

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末携兵,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子掷倔,更是在濱河造成了極大的恐慌眉孩,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件勒葱,死亡現(xiàn)場離奇詭異浪汪,居然都是意外死亡,警方通過查閱死者的電腦和手機凛虽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門死遭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人凯旋,你說我怎么就攤上這事呀潭《っ裕” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵钠署,是天一觀的道長糠聪。 經(jīng)常有香客問我,道長谐鼎,這世上最難降的妖魔是什么舰蟆? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮狸棍,結果婚禮上身害,老公的妹妹穿的比我還像新娘。我一直安慰自己草戈,他們只是感情好塌鸯,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著唐片,像睡著了一般丙猬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上牵触,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天淮悼,我揣著相機與錄音,去河邊找鬼揽思。 笑死袜腥,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的钉汗。 我是一名探鬼主播羹令,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼损痰!你這毒婦竟也來了福侈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤卢未,失蹤者是張志新(化名)和其女友劉穎肪凛,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辽社,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡伟墙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了滴铅。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片戳葵。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖汉匙,靈堂內(nèi)的尸體忽然破棺而出拱烁,到底是詐尸還是另有隱情生蚁,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布戏自,位于F島的核電站邦投,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏擅笔。R本人自食惡果不足惜尼摹,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望剂娄。 院中可真熱鬧,春花似錦玄呛、人聲如沸阅懦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耳胎。三九已至,卻和暖如春惕它,著一層夾襖步出監(jiān)牢的瞬間怕午,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工淹魄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留郁惜,地道東北人。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓甲锡,卻偏偏與公主長得像兆蕉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子缤沦,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 問答 1.不管是招聘還是聊天經(jīng)常能聽到 h5開發(fā)虎韵,它指的是什么?和 HTML5有什么關系? h5指的是一系列技術做...
    GarenWang閱讀 28,390評論 2 20
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案缸废? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,754評論 1 92
  • 門廳 一回家打開門第一眼看到的地方包蓝,色彩燈光質(zhì)地裝飾溫度氣味都要對。在這個地方要完成內(nèi)外物品的交換企量,所以便利测萎、收納...
    小茗同學_eb03閱讀 356評論 0 0
  • 《愛的五種語言》 從小就跟著奶奶去教堂,唱贊美詩梁钾,那時候的我識不全字绳泉,我總問奶奶,什么是愛姆泻? 奶奶把我摟入懷零酪,問我...
  • 下班時天色已黑四苇,而教學樓三樓還有燈光孝凌。走上三樓,一陣嘈雜聲從辦公室內(nèi)傳來月腋,五六位老師站的蟀架、坐的、批改作業(yè)的...
    圣良鍋鍋閱讀 829評論 0 3