前端早早聊跳槽面試輔導(dǎo)營
Html5
1、HTML5新特性有哪些?
添加了video,radio標(biāo)簽
添加了canvas畫布和svg,渲染矢量圖片
添加了一些列語義化標(biāo)簽header,footer,main,section,aside,nav等
input的type值新添加了很多屬性(email,url,number,range,Date pickers (date, month, week, time, datetime, datetime-local),search,color)
添加了地理位置定位功能 Geolocation API
添加了web存儲(chǔ)功能,localStorage和sessionStorage
使用 HTML5,通過創(chuàng)建 cache manifest 文件,可以輕松地創(chuàng)建 web 應(yīng)用的離線版本
web worker 是運(yùn)行在后臺(tái)的 JavaScript,獨(dú)立于其他腳本,不會(huì)影響頁面的性能。您可以繼續(xù)做任何愿意做的事情:點(diǎn)擊、選取內(nèi)容等等,而此時(shí) web worker 在后臺(tái)運(yùn)行。
服務(wù)端事件推送(EventSource 對(duì)象用于接收服務(wù)器發(fā)送事件通知),所有主流瀏覽器均支持服務(wù)器發(fā)送事件,除了 Internet Explorer
2、常見的塊級(jí)元素與行內(nèi)元素
常見行內(nèi)元素標(biāo)簽:
a、br、code、em、img、input...
常見塊級(jí)元素標(biāo)簽:
div、p、dl、dt、form、h1~h6...
3、漸進(jìn)增強(qiáng)與優(yōu)雅降級(jí)的理解及區(qū)別
漸進(jìn)增強(qiáng)(Progressive Enhancement):
一開始就針對(duì)低版本瀏覽器進(jìn)行構(gòu)建頁面,完成基本的功能,然后再針對(duì)高級(jí)瀏覽器進(jìn)行效果、交互、追加功能達(dá)到更好的體驗(yàn)。
優(yōu)雅降級(jí)(Graceful Degradation):
一開始就構(gòu)建站點(diǎn)的完整功能,然后針對(duì)瀏覽器測(cè)試和修復(fù)。比如一開始使用 CSS3 的特性構(gòu)建了一個(gè)應(yīng)用,然后逐步針對(duì)各大瀏覽器進(jìn)行 hack 使其可以在低版本瀏覽器上正常瀏覽。
兩者區(qū)別?
1、廣義:
其實(shí)要定義一個(gè)基準(zhǔn)線,在此之上的增強(qiáng)叫做漸進(jìn)增強(qiáng),在此之下的兼容叫優(yōu)雅降級(jí)
2、狹義:
漸進(jìn)增強(qiáng)一般說的是使用CSS3技術(shù),在不影響老瀏覽器的正常顯示與使用情形下來增強(qiáng)體驗(yàn),而優(yōu)雅降級(jí)則是體現(xiàn)html標(biāo)簽的語義,以便在js/css的加載失敗/被禁用時(shí),也不影響用戶的相應(yīng)功能。
例子:
.transition { /*漸進(jìn)增強(qiáng)寫法*/
? -webkit-transition: all .5s;
? ? -moz-transition: all .5s;
? ? ? -o-transition: all .5s;
? ? ? ? ? transition: all .5s;
}