html

html5有哪些新特性布持,移除了那些元素贤斜?

新特性:

  1. 語義化更好的內(nèi)容標(biāo)簽(header,nav,footer,aside,article,section)
  2. 拖拽釋放(Drag and drop) API
  3. 音頻、視頻API(audio,video)
  4. 畫布(Canvas) API
  5. 地理(Geolocation) API
  6. 本地離線存儲 localStorage 長期存儲數(shù)據(jù)族壳,瀏覽器關(guān)閉后數(shù)據(jù)不丟失屹篓;sessionStorage 的數(shù)據(jù)在瀏覽器關(guān)閉后自動刪除
  7. 表單控件盖桥,calendar梆暮、date别凹、time屈扎、email坏平、url搁痛、search
  8. 新的技術(shù)webworker, websocket, Geolocation

移除的元素:

  1. 純表現(xiàn)的元素:basefont僚焦,big雨女,center谚攒,font, s,strike氛堕,tt馏臭,u;
  2. 對可用性產(chǎn)生負(fù)面影響的元素:frame讼稚,frameset括儒,noframes;

你是如何理解 HTML 語義化的锐想?語義化的好處帮寻?

根據(jù)內(nèi)容的結(jié)構(gòu)化(內(nèi)容語義化),選擇合適的標(biāo)簽(代碼語義化)便于開發(fā)者閱讀和寫出更優(yōu)雅的代碼的同時讓瀏覽器的爬蟲和機器很好地解析赠摇。

語義化的好處:

  1. 為了在沒有CSS的情況下固逗,頁面也能呈現(xiàn)出很好地內(nèi)容結(jié)構(gòu)、代碼結(jié)構(gòu):為了裸奔時好看蝉稳;
  2. 用戶體驗:例如title抒蚜、alt用于解釋名詞或解釋圖片信息、label標(biāo)簽的活用耘戚;
  3. 有利于SEO:和搜索引擎建立良好溝通嗡髓,有助于爬蟲抓取更多的有效信息:爬蟲依賴于標(biāo)簽來確定上下文和各個關(guān)鍵字的權(quán)重;
  4. 方便其他設(shè)備解析(如屏幕閱讀器收津、盲人閱讀器饿这、移動設(shè)備)以意義的方式來渲染網(wǎng)頁浊伙;
  5. 便于團(tuán)隊開發(fā)和維護(hù),語義化更具可讀性长捧,是下一步網(wǎng)頁的重要動向嚣鄙,遵循W3C標(biāo)準(zhǔn)的團(tuán)隊都遵循這個標(biāo)準(zhǔn),可以減少差異化串结。

常見的語義化標(biāo)簽及其作用:

  • <title>:頁面主體內(nèi)容哑子。
    <hn>:h1~h6,分級標(biāo)題肌割,<h1> 與 <title> 協(xié)調(diào)有利于搜索引擎優(yōu)化卧蜓。
    <ul>:無序列表。
    <li>:有序列表把敞。
    <header>:頁眉通常包括網(wǎng)站標(biāo)志弥奸、主導(dǎo)航、全站鏈接以及搜索框奋早。
    <nav>:標(biāo)記導(dǎo)航盛霎,僅對文檔中重要的鏈接群使用。
    <main>:頁面主要內(nèi)容耽装,一個頁面只能使用一次愤炸。如果是web應(yīng)用,則包圍其主要功能掉奄。
    <article>:定義外部的內(nèi)容摇幻,其中的內(nèi)容獨立于文檔的其余部分。
    <section>:定義文檔中的節(jié)(section挥萌、區(qū)段)。比如章節(jié)枉侧、頁眉引瀑、頁腳或文檔中的其他部分。
    <aside>:定義其所處內(nèi)容之外的內(nèi)容榨馁。如側(cè)欄憨栽、文章的一組鏈接、廣告翼虫、友情鏈接屑柔、相關(guān)產(chǎn)品列表等。
    <footer>:頁腳珍剑,只有當(dāng)父級是body時掸宛,才是整個頁面的頁腳。
    <small>:呈現(xiàn)小號字體效果招拙,指定細(xì)則唧瘾,輸入免責(zé)聲明措译、注解、署名饰序、版權(quán)领虹。
    <strong>:和 em 標(biāo)簽一樣,用于強調(diào)文本求豫,但它強調(diào)的程度更強一些塌衰。
    <em>:將其中的文本表示為強調(diào)的內(nèi)容,表現(xiàn)為斜體蝠嘉。
    <mark>:使用黃色突出顯示部分文本最疆。
    <figure>:規(guī)定獨立的流內(nèi)容(圖像、圖表是晨、照片肚菠、代碼等等)(默認(rèn)有40px左右margin)。
    <figcaption>:定義 figure 元素的標(biāo)題罩缴,應(yīng)該被置于 figure 元素的第一個或最后一個子元素的位置蚊逢。
    <cite>:表示所包含的文本對某個參考文獻(xiàn)的引用,比如書籍或者雜志的標(biāo)題箫章。
    <blockquoto>:定義塊引用烙荷,塊引用擁有它們自己的空間。
    <q>:短的引述(跨瀏覽器問題檬寂,盡量避免使用)终抽。
    <time>:datetime屬性遵循特定格式,如果忽略此屬性桶至,文本內(nèi)容必須是合法的日期或者時間格式昼伴。
    <abbr>:簡稱或縮寫。
    <dfn>:定義術(shù)語元素镣屹,與定義必須緊挨著圃郊,可以在描述列表dl元素中使用。
    <address>:作者女蜈、相關(guān)人士或組織的聯(lián)系信息(電子郵件地址持舆、指向聯(lián)系信息頁的鏈接)。
    <del>:移除的內(nèi)容伪窖。
    <ins>:添加的內(nèi)容逸寓。
    <code>:標(biāo)記代碼。
    <meter>:定義已知范圍或分?jǐn)?shù)值內(nèi)的標(biāo)量測量覆山。(Internet Explorer 不支持 meter 標(biāo)簽)
    <progress>:定義運行中的進(jìn)度(進(jìn)程)竹伸。

Doctype作用?

<!DOCTYPE>聲明叫做文件類型定義(DTD)汹买。<!DOCTYPE>聲明必須在 HTML 文檔的第一行佩伤,這并不是一個 HTML 標(biāo)簽聊倔。告訴瀏覽器使用哪個版本的HTML規(guī)范來渲染文檔。DOCTYPE不存在或形式不正確會導(dǎo)致HTML文檔以混雜模式呈現(xiàn)生巡。
標(biāo)準(zhǔn)模式(Standards mode)以瀏覽器支持的最高標(biāo)準(zhǔn)運行耙蔑;混雜模式(Quirks mode)中頁面是一種比較寬松的向后兼容的方式顯示。
HTML5的聲明<!DOCTYPE html>孤荣。HTML5 沒有 DTD 甸陌,因此也就沒有嚴(yán)格模式與混雜模式的區(qū)別,HTML5 有相對寬松的語法盐股,實現(xiàn)時钱豁,已經(jīng)盡可能大的實現(xiàn)了向后兼容。( HTML5 沒有嚴(yán)格和混雜之分)


行內(nèi)元素有哪些疯汁?塊級元素有哪些牲尺? 空(void)元素有那些?

行內(nèi)元素:a span img input select
塊級元素:div ul ol li dl dt dd h1 p
空元素:<br> <hr> <link> <meta>


頁面導(dǎo)入樣式時幌蚊,使用link和@import有什么區(qū)別谤碳?

二者都是外部引用CSS的方式
不同點:

  1. link是xhtml標(biāo)簽,除了加載css外溢豆,還可以定義RSS等其他事務(wù)蜒简;@import屬于CSS范疇,只能加載CSS
    link引用CSS時候漩仙,頁面載入時同時加載搓茬;@import需要在頁面完全加載以后加載,而且@import被引用的CSS會等到引用它的CSS文件被加載完才加載
  2. link是xhtml標(biāo)簽队他,無兼容問題卷仑;@import是在css2.1提出來的,低版本的瀏覽器不支持
  3. link支持使用javascript控制去改變樣式麸折,而@import不支持
  4. link方式的樣式的權(quán)重高于@import的權(quán)重
  5. import在html使用時候需要<style type="text/css">標(biāo)簽

HTML5的文件離線儲存怎么使用系枪,工作原理是什么?

在線情況下磕谅,瀏覽器發(fā)現(xiàn)HTML頭部有manifest屬性,它會請求manifest文件雾棺,如果是第一次訪問膊夹,那么瀏覽器就會根據(jù)manifest文件的內(nèi)容下載相應(yīng)的資源,并進(jìn)行離線存儲捌浩。如果已經(jīng)訪問過并且資源已經(jīng)離線存儲了放刨,那么瀏覽器就會使用離線的資源加載頁面。然后瀏覽器會對比新的manifest文件與舊的manifest文件尸饺,如果文件沒有發(fā)生改變进统,就不會做任何操作助币,如果文件改變了,那么就會重新下載文件中的資源螟碎,并且進(jìn)行離線存儲眉菱。例如,

在頁面頭部加入manifest屬性

<html manifest='cache.manifest'>

在cache.manifest文件中編寫離線存儲的資源

CACHE MANIFEST
#v0.11
CACHE:
js/app.js
css/style.css
NETWORK:
Resourse/logo.png
FALLBACK:
//offline.html


cookies掉分,sessionStorage和localStorage的區(qū)別俭缓?

共同點:都是保存在瀏覽器端,且是同源的酥郭。
區(qū)別:

  1. cookies是為了標(biāo)識用戶身份而存儲在用戶本地終端上的數(shù)據(jù)华坦,始終在同源http請求中攜帶,即cookies在瀏覽器和服務(wù)器間來回傳遞不从,而sessionstorage和localstorage不會自動把數(shù)據(jù)發(fā)給服務(wù)器惜姐,僅在本地保存。
    存儲大小的限制不同椿息。cookie保存的數(shù)據(jù)很小歹袁,不能超過4k,而sessionstorage和localstorage保存的數(shù)據(jù)大撵颊,可達(dá)到5M宇攻。
  2. 數(shù)據(jù)的有效期不同。cookie在設(shè)置的cookie過期時間之前一直有效倡勇,即使窗口或者瀏覽器關(guān)閉逞刷。sessionstorage僅在瀏覽器窗口關(guān)閉之前有效。localstorage始終有效妻熊,窗口和瀏覽器關(guān)閉也一直保存夸浅,用作長久數(shù)據(jù)保存。
  3. 作用域不同扔役。cookie在所有的同源窗口都是共享帆喇;sessionstorage不在不同的瀏覽器共享,即使同一頁面亿胸;localstorage在所有同源窗口都是共享

頁面可見性(Page Visibility)API 可以有哪些用途坯钦?

  1. 通過visibility state的值得檢測頁面當(dāng)前是否可見,以及打開網(wǎng)頁的時間侈玄。
  2. 在頁面被切換到其他后臺進(jìn)程時婉刀,自動暫停音樂或視頻的播放。

Document.hidden(只讀)
返回布爾值序仙,表示頁面是(true)否(false)隱藏突颊。如果頁面處于被認(rèn)為是對用戶隱藏狀態(tài)時返回true,否則返回false。
Document.visibilityState(只讀)
返回document的可見性, 即當(dāng)前可見元素的上下文環(huán)境. 由此可以知道當(dāng)前文檔(即為頁面)是在背后, 或是不可見的隱藏的標(biāo)簽頁律秃,或者(正在)預(yù)渲染.可用的值如下:

  • visible : 頁面內(nèi)容至少是部分可見爬橡。 在實際中,這意味著頁面是非最小化窗口的前景選項卡棒动。
  • hidden : 頁面內(nèi)容對用戶不可見糙申。 在實際中,這意味著文檔可以是一個后臺標(biāo)簽迁客,或是最小化窗口的一部分郭宝,或是在操作系統(tǒng)鎖屏激活的狀態(tài)下。
  • prerender : 頁面內(nèi)容正在被預(yù)渲染且對用戶是不可見的(被document.hidden當(dāng)做隱藏). 文檔可能初始狀態(tài)為prerender掷漱,但絕不會從其它值轉(zhuǎn)為該值粘室。 注釋:瀏覽器支持是可選的。
  • unloaded : 頁面正在從內(nèi)存中卸載卜范。 注釋:瀏覽器支持是可選的衔统。

Document.onvisibilitychange EventListener提供在visibilitychange事件被觸發(fā)時調(diào)用的代碼


如何實現(xiàn)瀏覽器內(nèi)多個標(biāo)簽頁之間的通信?

  1. WebSocket 和 SharedWorker
  2. 也可以調(diào)用 localstorge、cookies 等本地存儲方式海雪。 localstorge 在另一個瀏覽上下文里被添加锦爵、修改或刪除時,它都會觸發(fā)一個事件奥裸,我們通過監(jiān)聽事件险掀,控制它的值來進(jìn)行頁面信息通信。

iframe框架有那些優(yōu)缺點湾宙?

優(yōu)點:

  1. iframe能夠原封不動的把嵌入的網(wǎng)頁展現(xiàn)出來樟氢。
  2. 如果有多個網(wǎng)頁引用iframe,那么你只需要修改iframe的內(nèi)容侠鳄,就可以實現(xiàn)調(diào)用的每一個頁面內(nèi)容的更改埠啃,方便快捷。
  3. 網(wǎng)頁如果為了統(tǒng)一風(fēng)格伟恶,頭部和版本都是一樣的碴开,就可以寫成一個頁面,用iframe來嵌套博秫,可以增加代碼的可重用潦牛。
  4. 如果遇到加載緩慢的第三方內(nèi)容如圖標(biāo)和廣告,這些問題可以由iframe來解決挡育。

缺點:

  1. 搜索引擎的檢索程序無法解讀這種頁面罢绽,不利于SEO
  2. iframe和主頁面共享連接池,而瀏覽器對相同域的連接有限制静盅,所以會影響頁面的并行加載。
    框架結(jié)構(gòu)中出現(xiàn)各種滾動條
  3. 使用iframe之前需要考慮這兩個缺點。如果需要使用iframe蒿叠,最好通過JavaScript動態(tài)給iframe添加src屬性值明垢,這樣可以繞開以上兩個問題。
  4. iframe會阻塞主頁面的Onload事件市咽;
  5. iframe頁面會增加服務(wù)器的http請求

介紹一下你對瀏覽器內(nèi)核的理解痊银?

瀏覽器最重要或者說核心的部分是“Rendering Engine”,可大概譯為“渲染引擎”施绎,不過我們一般習(xí)慣將之稱為“瀏覽器內(nèi)核”溯革。負(fù)責(zé)對網(wǎng)頁語法的解釋(如標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(yīng)用HTML、JavaScript)并渲染(顯示)網(wǎng)頁谷醉。 所以致稀,通常所謂的瀏覽器內(nèi)核也就是瀏覽器所采用的渲染引擎,渲染引擎決定了瀏覽器如何顯示網(wǎng)頁的內(nèi)容以及頁面的格式信息俱尼。不同的瀏覽器內(nèi)核對網(wǎng)頁編寫語法的解釋也有不同抖单,因此同一網(wǎng)頁在不同的內(nèi)核的瀏覽器里的渲染(顯示)效果也可能不同,這也是網(wǎng)頁編寫者需要在不同內(nèi)核的瀏覽器中測試網(wǎng)頁顯示效果的原因遇八。


以前端的角度出發(fā)做好SEO(Search Engine Optimization/搜索引擎優(yōu)化)需要考慮什么矛绘?

  1. 了解搜索引擎如何抓取網(wǎng)頁和如何索引網(wǎng)頁。
  2. meta標(biāo)簽優(yōu)化
    包括主題(title)刃永,網(wǎng)站描述(description)货矮,和關(guān)鍵字(keywords)。還有其它的隱藏文字如author(作者)斯够,category(目錄)囚玫,language(編碼語種)等。
    meta元素可提供有關(guān)頁面的元信息雳刺,如針對搜索引擎和更新頻度的描述劫灶。
  3. 搜索就得用關(guān)鍵詞。關(guān)鍵詞分析和選擇是SEO最重要的工作之一掖桦。首先給網(wǎng)站確定關(guān)鍵詞(一般在5個上下)本昏,然后針對這些關(guān)鍵字進(jìn)行優(yōu)化,包括關(guān)鍵詞密度(Density)枪汪,相關(guān)度(Relavacy)涌穆,突出性(Prominency)等等。
  4. 不同的搜索引擎對頁面的抓取和索引雀久、排序的規(guī)則都不一樣宿稀。各搜索門戶和搜索引擎的關(guān)系。

src與href的區(qū)別?

src(source)指向外部資源的位置赖捌,指向的內(nèi)容將會嵌入到文檔中當(dāng)前標(biāo)簽所在位置祝沸;在請求src資源時會將其指向的資源下載并應(yīng)用到文檔中矮烹,如js腳本,img圖片和iframe等元素罩锐。
當(dāng)瀏覽器解析到該元素時奉狈,會暫停其他資源的下載和處理,直到將該資源加載涩惑、編譯仁期、執(zhí)行完畢,類似于將所指向資源嵌入當(dāng)前標(biāo)簽內(nèi)竭恬。
href(hypertext reference/超文本引用)指向網(wǎng)絡(luò)資源所在位置跛蛋,建立和當(dāng)前元素(錨點)或當(dāng)前文檔(鏈接)之間的鏈接,如果我們在文檔中添加<link href="common.css" rel="stylesheet"/>那么瀏覽器會識別該文檔為css文件痊硕,就會并行下載資源并且不會停止對當(dāng)前文檔的處理赊级。這也就是為什么建議使用link方式加載css而不是使用@import方式。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末寿桨,一起剝皮案震驚了整個濱河市此衅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌亭螟,老刑警劉巖挡鞍,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異预烙,居然都是意外死亡墨微,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進(jìn)店門扁掸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來翘县,“玉大人,你說我怎么就攤上這事谴分⌒怍铮” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵牺蹄,是天一觀的道長忘伞。 經(jīng)常有香客問我,道長沙兰,這世上最難降的妖魔是什么氓奈? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮鼎天,結(jié)果婚禮上舀奶,老公的妹妹穿的比我還像新娘。我一直安慰自己斋射,他們只是感情好育勺,可當(dāng)我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布但荤。 她就那樣靜靜地躺著,像睡著了一般涧至。 火紅的嫁衣襯著肌膚如雪纱兑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天化借,我揣著相機與錄音,去河邊找鬼捡多。 笑死蓖康,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的垒手。 我是一名探鬼主播蒜焊,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼科贬!你這毒婦竟也來了泳梆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤榜掌,失蹤者是張志新(化名)和其女友劉穎优妙,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體憎账,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡套硼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了胞皱。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片邪意。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖反砌,靈堂內(nèi)的尸體忽然破棺而出雾鬼,到底是詐尸還是另有隱情,我是刑警寧澤宴树,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布策菜,位于F島的核電站,受9級特大地震影響森渐,放射性物質(zhì)發(fā)生泄漏做入。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一同衣、第九天 我趴在偏房一處隱蔽的房頂上張望竟块。 院中可真熱鬧,春花似錦耐齐、人聲如沸浪秘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耸携。三九已至棵癣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間夺衍,已是汗流浹背狈谊。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留沟沙,地道東北人河劝。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像矛紫,于是被迫代替她去往敵國和親赎瞎。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,486評論 2 348

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

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案颊咬? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補...
    _Yfling閱讀 13,737評論 1 92
  • 1. 瀏覽器頁面有哪三層構(gòu)成务甥,分別是什么,作用是什么? 構(gòu)成:結(jié)構(gòu)層喳篇、表示層敞临、行為層分別是:HTML、CSS杭隙、Ja...
    程序猿人王小賤閱讀 1,869評論 1 11
  • 前言 本系列文章主要是基于W3school這個學(xué)習(xí)網(wǎng)站來總結(jié)的哟绊,之所以會自己總結(jié)一番,一來是因為網(wǎng)站中的實例效果痰憎,...
    AR7_閱讀 4,044評論 4 70
  • 問答題1 /72瀏覽器頁面有哪三層構(gòu)成票髓,分別是什么,作用是什么?參考答案構(gòu)成:結(jié)構(gòu)層铣耘、表示層洽沟、行為層分別是:HTM...
    _Yfling閱讀 1,215評論 0 23
  • 語義化 HTML標(biāo)簽的語義化是指:通過使用包含語義的標(biāo)簽(如h1-h6)恰當(dāng)?shù)乇硎疚臋n結(jié)構(gòu) css命名的語義化是指...
    紋小艾閱讀 555評論 0 1