HTML5-CSS3

1.HTML5是什么?有哪些新特性?有哪些新增標(biāo)簽?如何讓低版本的IE支持HTML5新標(biāo)簽

HTML5是超文本標(biāo)記語(yǔ)言的第五次重大修改,2014年10月29日標(biāo)準(zhǔn)規(guī)范制定完成

特性:
語(yǔ)義特性

HTML5賦予網(wǎng)頁(yè)更好的意義和結(jié)構(gòu)。更加豐富的標(biāo)簽將隨著對(duì)RDFa的微數(shù)據(jù)與微格式等方面的支持,構(gòu)建對(duì)程序、對(duì)用戶都更有價(jià)值的數(shù)據(jù)驅(qū)動(dòng)的Web。

本地存儲(chǔ)特性

基于HTML5開(kāi)發(fā)的網(wǎng)頁(yè)APP擁有更短的啟動(dòng)時(shí)間,更快的聯(lián)網(wǎng)速度,這些全得益于HTML5 APP Cache以及本地存儲(chǔ)功能。Indexed DB(html5本地存儲(chǔ)最重要的技術(shù)之一)和API說(shuō)明文檔。

設(shè)備兼容特性

從Geolocation功能的API文檔公開(kāi)以來(lái),HTML5為網(wǎng)頁(yè)應(yīng)用開(kāi)發(fā)者們提供了更多功能上的優(yōu)化選擇,帶來(lái)了更多體驗(yàn)功能的優(yōu)勢(shì)。HTML5提供了前所未有的數(shù)據(jù)與應(yīng)用接入開(kāi)放接口。使外部應(yīng)用可以直接與瀏覽器內(nèi)部的數(shù)據(jù)直接相連,例如視頻影音可直接與microphones及攝像頭相聯(lián)。

連接特性

更有效的連接工作效率,使得基于頁(yè)面的實(shí)時(shí)聊天,更快速的網(wǎng)頁(yè)游戲體驗(yàn),更優(yōu)化的在線交流得到了實(shí)現(xiàn)。HTML5擁有更有效的服務(wù)器推送技術(shù),Server-Sent Event和WebSockets就是其中的兩個(gè)特性,這兩個(gè)特性能夠幫助我們實(shí)現(xiàn)服務(wù)器將數(shù)據(jù)“推送”到客戶端的功能。

網(wǎng)頁(yè)多媒體特性

支持網(wǎng)頁(yè)端的Audio,Video等多媒體功能,與網(wǎng)頁(yè)自帶的APPS,攝像頭,影音功能
三維、圖形及特效特性(class: 3D, Graphics & Effects)
基于SVG、Canvas、WebGL及CSS3的3D功能

性能與集成特性

沒(méi)有用戶會(huì)永遠(yuǎn)等待你的Loading——HTML5會(huì)通過(guò)XMLHttpRequest2等技術(shù),解決以前的跨域等問(wèn)題,幫助您的Web應(yīng)用和網(wǎng)站在多樣化的環(huán)境中更快速的工作。

CSS3特性

在不犧牲性能和語(yǔ)義結(jié)構(gòu)的前提下,CSS3中提供了更多的風(fēng)格和更強(qiáng)的效果。此外,較之以前的Web排版,Web的開(kāi)放字體格式(WOFF)也提供了更高的靈活性和控制性。

新增元素
元素 描述
canvas 標(biāo)簽定義圖形,比如圖表和其他圖像。該標(biāo)簽基于JavaScript的繪圖API
audio 定義音頻內(nèi)容
video 定義視頻(video或者movie)
source 定義多媒體資源<audio>和<video>
embed 定義嵌入的內(nèi)容,比如插件
track 為諸如<audio>和<video>元素之類的媒介規(guī)定外部文本軌道
datalist 定義選項(xiàng)列表。與input元素配合使用該元素,來(lái)定義input可能的值
keygen 規(guī)定用于表單的密鑰對(duì)生成器字段
output 定義不同類型的輸出,比如腳本的輸出
article 定義頁(yè)面正文內(nèi)容
aside 定義頁(yè)面內(nèi)容之外的內(nèi)容
bdi 設(shè)置一段文本,使其脫離其父元素的文本方向的設(shè)置
command 定義命令按鈕,比如單選按鈕、復(fù)選框或按鈕
details 定義對(duì)話框,比如提示框
summary 標(biāo)簽包含details元素的標(biāo)題
figure 規(guī)定獨(dú)立的流內(nèi)容(圖像、圖表、照片、代碼等等)
figcaption 定義<figure>元素的標(biāo)題
footer 定義section或document的頁(yè)腳
header 定義文檔的頭部區(qū)域
mark 定義帶有記號(hào)的文本
meter 定義度量衡。僅用于已知最大和最小值的度量
nav 導(dǎo)航
progress 定義任何類型的任務(wù)進(jìn)度
ruby 定義ruby注釋(中文注音或字符)
rt 定義字符(中文注音或字符)的解釋或發(fā)音
rp 在ruby注釋中使用,定義不支持ruby元素的瀏覽器所顯示的內(nèi)容
section 定義文檔中的節(jié)(section、區(qū)段)
time 定義日期或時(shí)間
wbr 規(guī)定在文本中的何處適合添加換行符
針對(duì)低版本的IE支持HTML5新標(biāo)簽的解決方案是html5shiv

html5shiv的使用非常簡(jiǎn)單,考慮到IE9是支持HTML5的,所以只需要在頁(yè)面head中添加如下代碼即可:

  <!–[if lt IE 9]> <script src="http://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script> <![endif]–>
2.input有哪些新增類型?

input新增type有:email, url, number, range, date picker(date, mouth, week, time, datetime )

3.瀏覽器本地存儲(chǔ)中 cookie 和 localStorage 有什么區(qū)別?localStorage 如何存儲(chǔ)刪除數(shù)據(jù)。
cookie

cookie的內(nèi)容主要包括:名字,值,過(guò)期時(shí)間,路徑和域。路徑與域一起構(gòu)成cookie的作用范圍。若不設(shè)置過(guò)期時(shí)間,則表示這個(gè)cookie的生命期為瀏覽器會(huì)話期間,關(guān)閉瀏覽器窗口,cookie就消失。這種生命期為瀏覽器會(huì)話期的cookie被稱為會(huì)話cookie。會(huì)話cookie一般不存儲(chǔ)在硬盤(pán)上而是保存在內(nèi)存里,當(dāng)然這種行為并不是規(guī)范規(guī)定的。若設(shè)置了過(guò)期時(shí)間,瀏覽器就會(huì)把cookie保存到硬盤(pán)上,關(guān)閉后再次打開(kāi)瀏覽器,這些cookie仍然有效直到超過(guò)設(shè)定的過(guò)期時(shí)間。存儲(chǔ)在硬盤(pán)上的cookie可以在不同的瀏覽器進(jìn)程間共享,比如兩個(gè)IE窗口。而對(duì)于保存在內(nèi)存里的cookie,不同的瀏覽器有不同的處理方式。
cookie的特點(diǎn):
1)cookie的大小受限制,cookie大小被限制在4KB,不能接受像大文件或郵件那樣的大數(shù)據(jù)。
2)只要有請(qǐng)求涉及cookie,cookie就要在服務(wù)器和瀏覽器之間來(lái)回傳送(這解釋為什么本地文件不能測(cè)試cookie)。而且cookie數(shù)據(jù)始終在同源的http請(qǐng)求中攜帶(即使不需要),這也是Cookie不能太大的重要原因。正統(tǒng)的cookie分發(fā)是通過(guò)擴(kuò)展HTTP協(xié)議來(lái)實(shí)現(xiàn)的,服務(wù)器通過(guò)在HTTP的響應(yīng)頭中加上一行特殊的指示以提示瀏覽器按照指示生成相應(yīng)的cookie。
3)用戶每請(qǐng)求一次服務(wù)器數(shù)據(jù),cookie則會(huì)隨著這些請(qǐng)求發(fā)送到服務(wù)器,服務(wù)器腳本語(yǔ)言如PHP等能夠處理cookie發(fā)送的數(shù)據(jù),可以說(shuō)是非常方便的。當(dāng)然前端也是可以生成Cookie的,用js對(duì)cookie的操作相當(dāng)?shù)姆爆崳瑸g覽器只提供document.cookie這樣一個(gè)對(duì)象,對(duì)cookie的賦值,獲取都比較麻煩。而在PHP中,我們可以通過(guò)setcookie()來(lái)設(shè)置cookie,通過(guò)$_COOKIE這個(gè)超全局?jǐn)?shù)組來(lái)獲取cookie。

sessionStorage

和服務(wù)器端使用的session類似,是一種會(huì)話級(jí)別的緩存,關(guān)閉瀏覽器會(huì)數(shù)據(jù)會(huì)被清除。不過(guò)有點(diǎn)特別的是它的作用域是窗口級(jí)別的,也就是說(shuō)不同窗口間的sessionStorage數(shù)據(jù)不能共享的。

localStorage

這是一種持久化的存儲(chǔ)方式,也就是說(shuō)如果不手動(dòng)清除,數(shù)據(jù)就永遠(yuǎn)不會(huì)過(guò)期。
它也是采用Key - Value的方式存儲(chǔ)數(shù)據(jù),底層數(shù)據(jù)接口是sqlite,按域名將數(shù)據(jù)分別保存到對(duì)應(yīng)數(shù)據(jù)庫(kù)文件里。它能保存更大的數(shù)據(jù)(IE8上是10MB,Chrome是5MB),同時(shí)保存的數(shù)據(jù)不會(huì)再發(fā)送給服務(wù)器,避免帶寬浪費(fèi)。
localStorage的缺點(diǎn)
① localStorage大小限制在500萬(wàn)字符左右,各個(gè)瀏覽器不一致
② localStorage在隱私模式下不可讀取
③ localStorage本質(zhì)是在讀寫(xiě)文件,數(shù)據(jù)多的話會(huì)比較卡(firefox會(huì)一次性將數(shù)據(jù)導(dǎo)入內(nèi)存,想想就覺(jué)得嚇人?。?br> ④ localStorage不能被爬蟲(chóng)爬取,不要用它完全取代URL傳參

屬性方法 說(shuō)明
localStorage.length 獲得localStorage中的個(gè)數(shù)
localStorage.key(n) 獲得localStorage中第n個(gè)元素對(duì)的鍵值(第一個(gè)元素是0)
localStorage.getItem(key) 獲取鍵值key對(duì)應(yīng)的值
localStorage.key 獲取鍵值key對(duì)應(yīng)的值
localStorage.setItem(key, value) 添加數(shù)據(jù),鍵值為key,值為value
localStorage.removeItem(key) 移除鍵值為key的數(shù)據(jù)
localStorage.clear() 清除所有數(shù)據(jù)

參考

4.寫(xiě)出如下CSS3效果的簡(jiǎn)單實(shí)例
  1.圓角,圓形
  2.div陰影
  3.2D轉(zhuǎn)換:放大、縮小、偏移、旋轉(zhuǎn)
  4.3D轉(zhuǎn)換:移動(dòng)、旋轉(zhuǎn)
  5.背景色漸變
  6.過(guò)渡效果
  7.動(dòng)畫(huà)

demo

5.實(shí)現(xiàn)全屏圖加過(guò)濾色的效果

demo

6.寫(xiě)出loading動(dòng)畫(huà)效果

demo

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • HTML5是什么?有哪些新特性?有哪些新增標(biāo)簽?如何讓低版本的 IE 支持 HTML5新標(biāo)簽 HTML5是最新的H...
    小囧兔閱讀 366評(píng)論 0 0
  • 題目1: HTML5是什么?有哪些新特性?有哪些新增標(biāo)簽?如何讓低版本的 IE 支持 HTML5新標(biāo)簽 HTML5...
    QQQQQCY閱讀 313評(píng)論 0 0
  • 題目1: HTML5是什么?有哪些新特性?有哪些新增標(biāo)簽?如何讓低版本的 IE 支持 HTML5新標(biāo)簽 含義:HT...
    saintkl閱讀 286評(píng)論 0 0
  • 1. HTML5是什么?有哪些新特性?有哪些新增標(biāo)簽?如何讓低版本的 IE 支持 HTML5新標(biāo)簽 HTML5是什...
    hui_mamba閱讀 243評(píng)論 0 0
  • 題目1: HTML5是什么?有哪些新特性?有哪些新增標(biāo)簽?如何讓低版本的 IE 支持 HTML5新標(biāo)簽 HTML5...
    饑人谷_NewClass閱讀 290評(píng)論 0 0

友情鏈接更多精彩內(nèi)容