前端面試準(zhǔn)備之——HTML篇

1.對Web標(biāo)準(zhǔn)的理解和W3C的認(rèn)識。

Web標(biāo)準(zhǔn)簡單的將頁面分為結(jié)構(gòu)(HTML),樣式(CSS)暖璧,和行為(JavaScript)挪凑,Web標(biāo)準(zhǔn)將其獨立分開使其更具有模塊化役衡。

W3C對Web標(biāo)準(zhǔn)提出了規(guī)范化的要求,比如

① 對結(jié)構(gòu)的要求:標(biāo)簽字母要小寫嘁捷,標(biāo)簽要閉合造成,標(biāo)簽不隨意嵌套,這樣有助于頁面被搜索引擎的抓取雄嚣,對SEO有很大的幫助谜疤。

② 對樣式和行為的要求:要求盡量使用外鏈的樣式表和腳本,做到頁面的模塊化,使用更少的代碼和組件夷磕,這樣使頁面容易維護履肃,改版方便,不需要變動頁面內(nèi)容

2. Doctype的作用坐桩?嚴(yán)格模式和混雜模式的區(qū)別? 以及如何觸發(fā)尺棋?

Doctype存在HTML頁面代碼的第一行(<html>標(biāo)簽之前),用于告訴瀏覽器用什么樣的Web標(biāo)準(zhǔn)來解析該頁面绵跷。

嚴(yán)格模式是根據(jù)瀏覽器所支持的最高的標(biāo)準(zhǔn)來解析文檔膘螟。混雜模式(兼容模式)頁面會以寬松的向后兼容的模式被解析碾局,會模擬老瀏覽器的的行為以防止站點無法工作荆残。

頁面如果包含完整的DOCTYPE 頁面就是以嚴(yán)格模式來解析頁面, 如果不寫或者Doctype的格式錯誤會導(dǎo)致瀏覽器以兼容模式解析該頁面净当。

3. 為什么HTML5只用書寫<!DOCTYPE HTML> ?

因為HTML5不是基于SGML内斯,因此不需要對DTD進行引用,但是要用DOCTYPE來規(guī)范瀏覽器的行為

而HTML4.0是基于SGML像啼, 因此需要對DTD的引用俘闯,才能讓瀏覽器知道該文檔所使用的文檔類型。

4. 描述從輸入網(wǎng)址到顯示網(wǎng)頁的過程

1忽冻、瀏覽器輸入網(wǎng)址

2真朗、DNS服務(wù)器解析相應(yīng)的域名:一般是本機的DNS服務(wù)器先解析,如果沒有就請求上級DNS服務(wù)器中解析僧诚,直到得到相應(yīng)的Web服務(wù)器的IP地址

3遮婶、瀏覽器與服務(wù)器建立TCP連接(兩次握手)

4、瀏覽器向服務(wù)器發(fā)送HTTP請求

5湖笨、服務(wù)器響應(yīng)瀏覽器的請求蹭睡,查找資源并返回響應(yīng)報文(包括狀態(tài)碼200,300,400,500等)

6、服務(wù)器返回相應(yīng)的HTML源文件

7赶么、服務(wù)器與客戶端斷開TCP連接(4次揮手)

8肩豁、瀏覽器得到相應(yīng)的資源開始進行解析,構(gòu)建DOM樹辫呻,渲染DOM樹清钥,綁定事件的等頁面顯示完成。

5. HTTP1.1和HTTP2的區(qū)別

1放闺、HTTP 2.0 采用二進制格式并非文本格式

2祟昭、HTTP 2.0 是完全多路復(fù)用

3、使用報頭壓縮怖侦,降低了HTTP/2的開銷

4篡悟、HTTP/2 可以讓服務(wù)器的響應(yīng)主動推送到客戶端緩存中

6. HTML和XHTML的區(qū)別谜叹?

HTML是web網(wǎng)頁設(shè)計語言,XHTML是基于XML的置標(biāo)語言

XHTML元素必須被正確嵌套搬葬,正確關(guān)閉荷腊,標(biāo)簽必須小寫,必須有根元素急凰。

7. 盒子模型

分為IE盒子模型和標(biāo)準(zhǔn)盒子模型 (content ?border padding margin)

IE盒子模型包括conent女仰、border 和 padding

標(biāo)準(zhǔn)盒子模型包括content

8. 行內(nèi)元素有哪些? 塊級元素有哪些?

行內(nèi)元素: span img input textarea a input?

塊級元素: div h1~h6 ?ul ol p table dir

9. 對瀏覽器內(nèi)核的理解抡锈?以及常見的瀏覽器內(nèi)核有哪些疾忍?

瀏覽器內(nèi)核負(fù)責(zé)對網(wǎng)頁語法的解釋和渲染顯示,不同瀏覽器對網(wǎng)頁語法的解釋和渲染有所不同床三,因此在編寫頁面時要在不同內(nèi)核的瀏覽器中測試才行一罩。

常見的瀏覽器內(nèi)核有

IE瀏覽器的 Trident

Opera Chrome 使用webkit內(nèi)核

IE Edge瀏覽器使用 EdgeHtml內(nèi)核

10. CSS引入方法有哪些? link 和 @import 有什么區(qū)別撇簿?

頁面內(nèi)使用css的方式有: 行內(nèi)嵌入式 ?頁面頭部內(nèi)嵌套 外面鏈接調(diào)用

外部鏈接有兩種方式:link 和 @import

兩者的區(qū)別:link是XHTML的標(biāo)簽聂渊,不僅可以引入CSS外,還可以定義RSS服務(wù)

@import是屬于CSS范疇补疑,只能引入CSS文件

link引入的文件在頁面的加載同時加載歧沪,而@import的CSS必須在頁面加載完后才能加載

link引入的樣式支持JS的DOM操作更改樣式(即通過更改link的src屬性歹撒,來達(dá)到更換css樣式表)莲组,而@import引入的樣式不可以更改。

11. 簡述你對HTML語義化的理解

1暖夭、HTML語義化可以讓頁面的內(nèi)容結(jié)構(gòu)化锹杈,結(jié)構(gòu)清晰,有利于瀏覽器和搜索引擎的解析

2迈着、在沒有CSS樣式的情況下竭望,以文檔的形式展示出來,并且是便于理解的

3裕菠、有利于閱讀源碼人員的理解咬清,方便以后的維護,更新奴潘。

4旧烧、搜索引擎的爬蟲也依賴于HTML標(biāo)記來確定上下文和各個關(guān)鍵字的權(quán)重,有利于SEO画髓;

12掘剪、form表單的readonly 和 disabled屬性的區(qū)別?

readonly是用戶只能看奈虾,不能更改夺谁,但是會隨表單提交

disabled是input元素在加載時禁用廉赔,不會隨著表單提交

但二者都可以通過js腳本更改value值。

13匾鸥、<head>標(biāo)簽中唯一必須的標(biāo)簽是蜡塌?

下面這些標(biāo)簽可用在 head 部分::<base> <meta> <script> <link> <style> <title>,, 以及,, 以及扫腺。

<title>定義文檔的標(biāo)題岗照,是head中唯一必須的元素

14、HTML5 新增了哪些特性笆环? 如何處理HTML5新標(biāo)簽的兼容問題攒至?

H5 新增了article section nav footer header; date time search email calender躁劣; canvas audio video迫吐; localStorge sessionStorge

使用html5shim框架, 對于IE6/7/8 通過document. 產(chǎn)生標(biāo)簽

如何分辨HTML5账忘? 通過聲明志膀,或者標(biāo)簽。

15鳖擒、HTML5的離線存儲怎么用溉浙?

在用戶沒有連接英特網(wǎng)時,可以正常訪問站點和應(yīng)用蒋荚;在用戶連接英特網(wǎng)時戳稽,更新用戶機器上的緩存文件。

原理:HTML5的離線存儲是基于一個新建的 ‘.appcache’文件的緩存機制(并非存儲技術(shù))期升,通過這個文件上的解析清單離線存儲資源惊奇,這些資源就會像cookie一樣被存儲下來。之后當(dāng)網(wǎng)絡(luò)處于離線狀態(tài)下時播赁,瀏覽器會通過被離線存儲的數(shù)據(jù)進行頁面展示颂郎。

使用方法:(1) 在頁面頭部像下面一樣加入一個 manifest 的屬性;

(2) 在 cache.manifest文件里編寫離線存儲資源容为;??

?CACHE MANIFEST#v0.11CACHE:? ?

?js/app.js

css/style.css

(3) 在離線狀態(tài)時乓序,操作 window.applicationCache進行需求實現(xiàn);

16坎背、瀏覽器怎么對HTML5的離線存儲資源進行管理和加載呢替劈?

在線情況下,瀏覽器檢測html5文件頭部是否有mainfest屬性沼瘫,如果有就請求mainfest文件抬纸,如果是第一次訪問,就會根據(jù)mainfest文件的內(nèi)容下載相應(yīng)的資源并且進行離線存儲耿戚, 如果已經(jīng)訪問過并且相應(yīng)的資源已經(jīng)離線存儲湿故,那么就調(diào)用相應(yīng)的離線資源加載頁面阿趁,然后瀏覽器會對比新的mainfest文件和就得mainfest文件,如果發(fā)生改變坛猪,就將重新下載文件中資源進行離線緩存

如果是離線情況就直接調(diào)用mainfest文件對應(yīng)的資源脖阵。

17、cookies墅茉、sessionStorge命黔、 localStorge的區(qū)別?

cookies的大小只有4k就斤,每次http請求都會發(fā)送悍募,可以規(guī)定cookies的生命時間,即在規(guī)定時間內(nèi)清除洋机,默認(rèn)是每次頁面關(guān)閉的時候清除

sessionStorge的大小有5M坠宴, 在瀏覽器關(guān)閉的時候清除, 不參與服務(wù)器通信

localStorge的大小有5M,會一直存在绷旗,不會清除除非手動清除喜鼓, 不參與服務(wù)器通信

cookies通過domain文件和path/路徑 能達(dá)到文檔源級別

sessionStorge、localStorge是文檔源級別即同源窗口共享

但sessionStorge在不同瀏覽器的同一個窗口不能共享

文檔源級別是 協(xié)議衔肢、主機名庄岖、端口一樣

18、Label 的作用是什么角骤? 怎么使用隅忿?

label標(biāo)簽是來擴大表單控件的點擊范圍,本身沒有任何樣式启搂,當(dāng)點擊label標(biāo)簽的時候硼控,會自動將焦點轉(zhuǎn)到與label相關(guān)聯(lián)的控件上

<lable name="number">Number </lable>

<input id= "number" type="text">

//當(dāng)點擊label標(biāo)簽時刘陶,焦點轉(zhuǎn)到input標(biāo)簽上

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

1 使用localStorge

localStorge.setItem(key, value) //給localStorge添加內(nèi)容

localStorge.getItem(key)//獲取localStorge中的內(nèi)容

在兩一個頁面進行

window.addEventListener("storge", function(event){

console.log(event.key + "=" + event.newValue);

})

2 使用cookies 和 setInterval

document.cookies="name="+name;

setInterval(function(){

JSON.parse("{\"+ document.cookie.replace(/;\s+/gim,"\",\"").replace(/=/gim,"\":\"") +"\"}")[key];

}, 1000);

20匙隔、 webSocket 如何兼容低瀏覽器疑苫?

AdobeFlash?

SocketActiveXHTMLFile(IE)

基于multipart編碼

發(fā)送 XHR基于長輪詢的 XHR

21、iframe有哪些缺點纷责?

會阻塞主頁面的onload事件

搜索引擎無法解析這種頁面捍掺,不利于SEO

會影響頁面的并行加載

并行加載: 同一時間針對同一域名的請求

一般情況下iframe和所在頁面在同一域下

解決方案:

使用js動態(tài)給iframe的src加載頁面內(nèi)容

22、實現(xiàn) 不使用 border 畫出 1px 高的線再膳,在不同瀏覽器的標(biāo)準(zhǔn)模式與怪異模式下都能保持一致的效果挺勿?

height:1px

overflow: hidden

background:#ccc

23、實現(xiàn)在移動端的border為1px

.content:after{

position:absolute;

content: " ";

left: 0

top: 0

width:100%;

border: 1px solid #ccc;

}

@media(-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5){

.content:after{

-webkit-transform: scaleY(0.7)

transform:scaleY(0.7)

}

@media(-webkit-min-device-pixel-ratio: 2), (min-device-pixel-ratio: 2){

.content:after{

-webkit-transform: scaleY(0.5)

transform:scaleY(0.5)

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末喂柒,一起剝皮案震驚了整個濱河市不瓶,隨后出現(xiàn)的幾起案子禾嫉,更是在濱河造成了極大的恐慌,老刑警劉巖蚊丐,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件熙参,死亡現(xiàn)場離奇詭異,居然都是意外死亡麦备,警方通過查閱死者的電腦和手機孽椰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凛篙,“玉大人黍匾,你說我怎么就攤上這事∏喊穑” “怎么了膀捷?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長削彬。 經(jīng)常有香客問我全庸,道長,這世上最難降的妖魔是什么融痛? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任壶笼,我火速辦了婚禮,結(jié)果婚禮上雁刷,老公的妹妹穿的比我還像新娘覆劈。我一直安慰自己,他們只是感情好沛励,可當(dāng)我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布责语。 她就那樣靜靜地躺著,像睡著了一般目派。 火紅的嫁衣襯著肌膚如雪坤候。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天企蹭,我揣著相機與錄音白筹,去河邊找鬼。 笑死谅摄,一個胖子當(dāng)著我的面吹牛徒河,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播送漠,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼顽照,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了闽寡?” 一聲冷哼從身側(cè)響起代兵,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤纵穿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后奢人,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谓媒,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年何乎,在試婚紗的時候發(fā)現(xiàn)自己被綠了句惯。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡支救,死狀恐怖抢野,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情各墨,我是刑警寧澤指孤,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站贬堵,受9級特大地震影響恃轩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜黎做,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一叉跛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蒸殿,春花似錦筷厘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至爬骤,卻和暖如春充石,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背盖腕。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工赫冬, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留浓镜,地道東北人溃列。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像膛薛,于是被迫代替她去往敵國和親听隐。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,573評論 2 359

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

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案哄啄? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補...
    _Yfling閱讀 13,759評論 1 92
  • 前端開發(fā)面試知識點大綱: HTML&CSS: 對Web標(biāo)準(zhǔn)的理解雅任、瀏覽器內(nèi)核差異风范、兼容性、hack沪么、CSS基本功:...
    秀才JaneBook閱讀 2,383評論 0 25
  • 1. 瀏覽器頁面有哪三層構(gòu)成硼婿,分別是什么,作用是什么? 構(gòu)成:結(jié)構(gòu)層、表示層、行為層分別是:HTML我抠、CSS唯咬、Ja...
    程序猿人王小賤閱讀 1,876評論 1 11
  • 第一部分HTML&CSS整理答案1.什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)誓军。 注意:講述HTML5...
    Programmer客棧閱讀 2,016評論 0 12
  • 正值金九銀十的招聘旺季,我把我珍藏整理多年的前端面試題分享給大家,分三部分栓撞。這是第一部分,html和css布局相關(guān)...
    cbw100閱讀 1,116評論 2 24