一、html5 有哪些新特性、移除了那些元素,如何處理 HTML新標簽的瀏覽器兼容性問題?如何區分 HTML 和 HTML5?
新特性:
- 拖拽釋放(Drag and drop) API
- 語義化更好的內容標簽(header、footer、section、nav、aside、article)
- 音頻、視頻API(audio、video)
- 畫布API(Canvas)
- 地理API(Geolocation)
- 本地存儲 localStorage 長期存儲數據,瀏覽器關閉后數據不丟失
- sessionStorage 的數據在瀏覽器關閉后自動刪除
- 表單控件,calendar、date、time、email、url、search
移除的元素: - 純表現的元素:font、basefont、big、center、s、strike;
- 對可以用性產生負面影響的元素:frame、frameset、noframes;
兼容性問題:
IE8/IE7/IE6 支持通過 document.createElement 方法產生的標簽,可以利用這一特性讓這些瀏覽器支持 HTML5 新標簽。
如何區分:
DOCTYPE聲明、新增的結構元素、功能元素
二、CSS3 有哪些新特性?
- 圓角(border-radius)、陰影(box-shadow)
- 文字特效(text-shadow)、線性漸變(gradient)、旋轉(transform)
- 更多的CSS選擇器 多背景 rgba
- 媒體查詢,多欄布局
- border-image
- 唯一的偽元素時是 ::selection
三、描述下 cookies,sessionStorage 和 localStorage 的區別:
相同點:都是存儲在客戶端
不同點:
1. 存儲大小:
* cookies 數據大小不能超過4k
* sessionStorage 和 localStorage 雖然也有存儲大小的限制,但是比 cookies 大的多,可以達到5M以上
2. 有效時間:
* cookies 設置的 cookies 過期時間之前會一直有效,即使瀏覽器關閉
* localStorage 存儲持久數據,瀏覽器關閉后數據不丟失除非主動刪除
* sessionStorage 數據在當前瀏覽器窗口關閉時自動刪除
3. 數據與服務器的交互方式:
* cookies 的數據會自動傳到服務器,服務器端也可以寫 cookies 都客戶端
* localStorage 和 sessionStorage 不會自動把數據傳輸到服務器,僅在本地保存
四、CSS 有個content 屬性?有什么作用?
css 的 content 應用在 before/after 偽元素上,用來插入生成的內容。最常見是利用偽元素清除浮動
- 為什么要清除浮動?如何清除浮動?
防止高度塌陷問題。設置父元素overflow:hidden/auto;
.clearfix::after{ content:" ", display:block; clear:both }