1.HTML5是什么莉测?有哪些新特性撇簿?有哪些新增標簽恢口?如何讓低版本的IE支持HTML5新標簽
HTML5是超文本標記語言的第五次重大修改孝宗,2014年10月29日標準規(guī)范制定完成
特性:
語義特性
HTML5賦予網頁更好的意義和結構。更加豐富的標簽將隨著對RDFa的微數據與微格式等方面的支持耕肩,構建對程序因妇、對用戶都更有價值的數據驅動的Web问潭。
本地存儲特性
基于HTML5開發(fā)的網頁APP擁有更短的啟動時間,更快的聯(lián)網速度婚被,這些全得益于HTML5 APP Cache以及本地存儲功能狡忙。Indexed DB(html5本地存儲最重要的技術之一)和API說明文檔。
設備兼容特性
從Geolocation功能的API文檔公開以來址芯,HTML5為網頁應用開發(fā)者們提供了更多功能上的優(yōu)化選擇去枷,帶來了更多體驗功能的優(yōu)勢。HTML5提供了前所未有的數據與應用接入開放接口是复。使外部應用可以直接與瀏覽器內部的數據直接相連,例如視頻影音可直接與microphones及攝像頭相聯(lián)竖螃。
連接特性
更有效的連接工作效率淑廊,使得基于頁面的實時聊天,更快速的網頁游戲體驗特咆,更優(yōu)化的在線交流得到了實現(xiàn)季惩。HTML5擁有更有效的服務器推送技術,Server-Sent Event和WebSockets就是其中的兩個特性腻格,這兩個特性能夠幫助我們實現(xiàn)服務器將數據“推送”到客戶端的功能画拾。
網頁多媒體特性
支持網頁端的Audio,Video等多媒體功能菜职,與網頁自帶的APPS青抛,攝像頭,影音功能
三維酬核、圖形及特效特性(class: 3D, Graphics & Effects)
基于SVG蜜另、Canvas、WebGL及CSS3的3D功能
性能與集成特性
沒有用戶會永遠等待你的Loading——HTML5會通過XMLHttpRequest2等技術嫡意,解決以前的跨域等問題举瑰,幫助您的Web應用和網站在多樣化的環(huán)境中更快速的工作。
CSS3特性
在不犧牲性能和語義結構的前提下蔬螟,CSS3中提供了更多的風格和更強的效果此迅。此外,較之以前的Web排版旧巾,Web的開放字體格式(WOFF)也提供了更高的靈活性和控制性耸序。
新增元素
元素 | 描述 |
---|---|
canvas | 標簽定義圖形,比如圖表和其他圖像菠齿。該標簽基于JavaScript的繪圖API |
audio | 定義音頻內容 |
video | 定義視頻(video或者movie) |
source | 定義多媒體資源<audio>和<video> |
embed | 定義嵌入的內容佑吝,比如插件 |
track | 為諸如<audio>和<video>元素之類的媒介規(guī)定外部文本軌道 |
datalist | 定義選項列表。與input元素配合使用該元素绳匀,來定義input可能的值 |
keygen | 規(guī)定用于表單的密鑰對生成器字段 |
output | 定義不同類型的輸出芋忿,比如腳本的輸出 |
article | 定義頁面正文內容 |
aside | 定義頁面內容之外的內容 |
bdi | 設置一段文本炸客,使其脫離其父元素的文本方向的設置 |
command | 定義命令按鈕,比如單選按鈕戈钢、復選框或按鈕 |
details | 定義對話框痹仙,比如提示框 |
summary | 標簽包含details元素的標題 |
figure | 規(guī)定獨立的流內容(圖像、圖表殉了、照片开仰、代碼等等) |
figcaption | 定義<figure>元素的標題 |
footer | 定義section或document的頁腳 |
header | 定義文檔的頭部區(qū)域 |
mark | 定義帶有記號的文本 |
meter | 定義度量衡。僅用于已知最大和最小值的度量 |
nav | 導航 |
progress | 定義任何類型的任務進度 |
ruby | 定義ruby注釋(中文注音或字符) |
rt | 定義字符(中文注音或字符)的解釋或發(fā)音 |
rp | 在ruby注釋中使用薪铜,定義不支持ruby元素的瀏覽器所顯示的內容 |
section | 定義文檔中的節(jié)(section众弓、區(qū)段) |
time | 定義日期或時間 |
wbr | 規(guī)定在文本中的何處適合添加換行符 |
針對低版本的IE支持HTML5新標簽的解決方案是html5shiv
html5shiv的使用非常簡單,考慮到IE9是支持HTML5的隔箍,所以只需要在頁面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.瀏覽器本地存儲中 cookie 和 localStorage 有什么區(qū)別?localStorage 如何存儲刪除數據蜒滩。
cookie
cookie的內容主要包括:名字滨达,值,過期時間俯艰,路徑和域捡遍。路徑與域一起構成cookie的作用范圍。若不設置過期時間竹握,則表示這個cookie的生命期為瀏覽器會話期間画株,關閉瀏覽器窗口,cookie就消失涩搓。這種生命期為瀏覽器會話期的cookie被稱為會話cookie污秆。會話cookie一般不存儲在硬盤上而是保存在內存里,當然這種行為并不是規(guī)范規(guī)定的昧甘。若設置了過期時間良拼,瀏覽器就會把cookie保存到硬盤上,關閉后再次打開瀏覽器充边,這些cookie仍然有效直到超過設定的過期時間庸推。存儲在硬盤上的cookie可以在不同的瀏覽器進程間共享,比如兩個IE窗口浇冰。而對于保存在內存里的cookie贬媒,不同的瀏覽器有不同的處理方式。
cookie的特點:
1)cookie的大小受限制肘习,cookie大小被限制在4KB际乘,不能接受像大文件或郵件那樣的大數據。
2)只要有請求涉及cookie漂佩,cookie就要在服務器和瀏覽器之間來回傳送(這解釋為什么本地文件不能測試cookie)脖含。而且cookie數據始終在同源的http請求中攜帶(即使不需要)罪塔,這也是Cookie不能太大的重要原因。正統(tǒng)的cookie分發(fā)是通過擴展HTTP協(xié)議來實現(xiàn)的养葵,服務器通過在HTTP的響應頭中加上一行特殊的指示以提示瀏覽器按照指示生成相應的cookie征堪。
3)用戶每請求一次服務器數據,cookie則會隨著這些請求發(fā)送到服務器关拒,服務器腳本語言如PHP等能夠處理cookie發(fā)送的數據佃蚜,可以說是非常方便的。當然前端也是可以生成Cookie的着绊,用js對cookie的操作相當的繁瑣谐算,瀏覽器只提供document.cookie這樣一個對象,對cookie的賦值归露,獲取都比較麻煩氯夷。而在PHP中,我們可以通過setcookie()來設置cookie靶擦,通過$_COOKIE這個超全局數組來獲取cookie。
sessionStorage
和服務器端使用的session類似雇毫,是一種會話級別的緩存玄捕,關閉瀏覽器會數據會被清除。不過有點特別的是它的作用域是窗口級別的棚放,也就是說不同窗口間的sessionStorage數據不能共享的枚粘。
localStorage
這是一種持久化的存儲方式,也就是說如果不手動清除飘蚯,數據就永遠不會過期馍迄。
它也是采用Key - Value的方式存儲數據,底層數據接口是sqlite局骤,按域名將數據分別保存到對應數據庫文件里攀圈。它能保存更大的數據(IE8上是10MB,Chrome是5MB)峦甩,同時保存的數據不會再發(fā)送給服務器赘来,避免帶寬浪費。
localStorage的缺點
① localStorage大小限制在500萬字符左右凯傲,各個瀏覽器不一致
② localStorage在隱私模式下不可讀取
③ localStorage本質是在讀寫文件犬辰,數據多的話會比較卡(firefox會一次性將數據導入內存,想想就覺得嚇人氨ァ)
④ localStorage不能被爬蟲爬取幌缝,不要用它完全取代URL傳參
屬性方法 | 說明 |
---|---|
localStorage.length | 獲得localStorage中的個數 |
localStorage.key(n) | 獲得localStorage中第n個元素對的鍵值(第一個元素是0) |
localStorage.getItem(key) | 獲取鍵值key對應的值 |
localStorage.key | 獲取鍵值key對應的值 |
localStorage.setItem(key, value) | 添加數據,鍵值為key诫欠,值為value |
localStorage.removeItem(key) | 移除鍵值為key的數據 |
localStorage.clear() | 清除所有數據 |
4.寫出如下CSS3效果的簡單實例
1.圓角涵卵,圓形
2.div陰影
3.2D轉換:放大浴栽、縮小、偏移缘厢、旋轉
4.3D轉換:移動吃度、旋轉
5.背景色漸變
6.過渡效果
7.動畫