1. 網(wǎng)頁亂碼的問題是如何產(chǎn)生的函卒?
- 因為一份文檔保存在計算機(jī)的時候不是以我們看到的樣子入蛆,而是用計算機(jī)理解的樣子去保存的,計算機(jī)只能理解010101這樣的二進(jìn)制代碼邦泄。然而世界上有許多不同的語言迹炼,計算機(jī)的發(fā)展和使用也是逐步擴(kuò)散的砸彬,所以就有就有許多不同的字符集和編碼方式。
- 例如ASCII字符集斯入,就是美國標(biāo)準(zhǔn)信息交換代碼砂碉,是早期的萬維網(wǎng)在使用的,這個字符集中就只有128個字符刻两,主要包括英文字母增蹭、數(shù)字和其他一些符號。但是這在歐洲人使用拉丁字符時就顯然不夠用磅摹,就有了ISO 8859-1滋迈,這是對ASCII的拉丁字符補(bǔ)充后產(chǎn)生的字符集。
- 所以文檔作者在保存文檔的時候就必須制定一種編碼方式户誓,而使用者用解析器打開的時候如果打開文檔所使用的編碼方式不一致饼灿,打開的文檔就會出現(xiàn)亂碼。
參考:字符編碼筆記:ASCII帝美,Unicode和UTF-8
2. 顏色有幾種寫法碍彭, 紅色、 綠色、藍(lán)色硕旗、白色、黑色如何表示女责? 透明黑色如何表示漆枚?#ccc的顏色, #eee的顏色抵知? #333的顏色墙基?
顏色有幾種寫法:
顏色名 | HEX | RGB | HSL |
---|---|---|---|
紅色 | #ff0000 | rgb(255,0,0) | hsl(0,100%,50%) |
綠色 | #00ff00 | rgb(0,255,0) | hsl(120,100%,50%) |
藍(lán)色 | #0000ff | rgb(0,0,255) | hsl(240,100%,50%) |
白色 | #ffffff | rgb(255,255,255) | hsl(0,0%,100%) |
黑色 | #000000 | rgb(0,0,0) | hsl(0,0%,0%) |
透明黑色如何表示:
在CSS3中,加入了Alpha透明通道,所以黑色透明就是rgba(0,0,0,0.5),其實最后一個alpha的值為0~1刷喜,0表示完全透明残制,1表示不透明。
#ccc的顏色掖疮, #eee的顏色初茶? #333的顏色:
3. <!DOCTYPE html>的的作用是什么
<!DOCTYPE html>
告訴瀏覽器要用HTML5的標(biāo)準(zhǔn)來解析文檔,可以當(dāng)成是document type declaration或者DTD浊闪,就是文件類型宣告恼布。
參考:DOCTYPE
4. 嚴(yán)格模式和混雜模式指什么
在很久以前,瀏覽器主要有兩種搁宾,網(wǎng)景公司的Navgator和微軟的Internet Explorer折汞,當(dāng)W3C標(biāo)準(zhǔn)創(chuàng)立的時候,為了不破壞已有的網(wǎng)站盖腿,瀏覽器不能馬上啟用新的標(biāo)準(zhǔn)爽待。所以瀏覽器導(dǎo)入了能采用新標(biāo)準(zhǔn)的嚴(yán)格模式和向舊網(wǎng)站兼容的混雜模式的兩種模式。
參考:Quirks Mode and Standards Mode
5. meta有什么作用翩腐,常見的值有哪些
meta有什么作用:
meta
標(biāo)簽是用來表示那些不能被head
中script
鸟款、link
、style
茂卦、title
標(biāo)簽所表示的元數(shù)據(jù)欠雌。其中元數(shù)據(jù)表示的是,用來描述數(shù)據(jù)的數(shù)據(jù)(Data that describes other data)疙筹。例如富俄,身高:175cm、體重:65kg而咆、年齡:23霍比,其中的身高、體重暴备、年齡就是元數(shù)據(jù)悠瞬。
常見的值有哪些:
-
name
,是加在整個頁面上的元數(shù)據(jù),它的level是document-level -
http-equiv
浅妆,是一個編譯指令望迎,例如從服務(wù)器響應(yīng)過來的信息該被怎樣渲染 -
charset
,規(guī)定使用哪種編碼方式 -
content
凌外,定義一個和name
或http-equiv
關(guān)聯(lián)的值
參考:
6. <meta http-equiv="X-UA-compatible" content="IE=edge,chrome=1">
有什么作用
X-UA-Compatible is a document mode meta tag that allows web authors to choose what version of Internet Explorer the page should be rendered as. It is used by Internet Explorer 8 to specify whether a page should be rendered as IE 7 (compatibility view) or IE 8 (standards view).
這是一個針對IE瀏覽器的語句辩尊,在前面的問題說到過IE的嚴(yán)格模式和混雜模式,是用<!DOCTYPE ...>
這條語句來觸發(fā)的康辑,在IE6前期是可以兼容很多舊的網(wǎng)站摄欲,但是隨著越來越多的網(wǎng)站按照標(biāo)準(zhǔn)來使用<!DOCTYPE ...>
這條指令,就會出現(xiàn)這樣的情況:
例如疮薇,IE6不支持CSS的通配符選擇器胸墙,那么在早期一些網(wǎng)站就利用這個特性,如果我檢測到瀏覽器不支持* {}
按咒,那么我就認(rèn)為這是一個IE瀏覽器迟隅,那么我為了實現(xiàn)在IE瀏覽器的效果就針對IE6寫一些特別的代碼,提供一些特別的內(nèi)容励七。但是當(dāng)瀏覽器版本升級到IE7的時候玻淑,IE7已經(jīng)實現(xiàn)了通配符選擇器,那么我的檢測就失效了呀伙,我就檢測不到IE瀏覽器补履,那么我針對IE6寫的代碼就無效了,所以內(nèi)容也就不能正常顯示剿另。由于網(wǎng)站是按照標(biāo)準(zhǔn)使用<!DOCTYPE ...>
指令的箫锤,而且IE7只有IE7的標(biāo)準(zhǔn)模式和怪異模式而沒有IE6的標(biāo)準(zhǔn)模式,所以怪異模式也無法實現(xiàn)兼容雨女。
IE瀏覽器為了解決這種情況谚攒,保證舊文檔的兼容性,就在IE8的時候加入了這條指令氛堕,例如馏臭,在IE8就可以選擇是使用IE8的標(biāo)準(zhǔn)模式還是IE7的標(biāo)準(zhǔn)模式。其中IE=edge
表示使用最新的標(biāo)準(zhǔn)模式讼稚,而chrome=1
表示:
這是為谷歌的內(nèi)嵌瀏覽器( Chrome Frame browser)添加的括儒,Chrome Frame browser可以安裝在不同的IE版本中,相當(dāng)于在IE瀏覽器里安裝一個chrome锐想。而Chrome=1
就表示如果Chrome Frame browser 存在帮寻,就使用Chrome Frame browser。
參考:
7. 常見的瀏覽器有哪些赠摇,什么內(nèi)核
Chrome | Firefox | Safari | IE | Opera | |
---|---|---|---|---|---|
排版引擎 | Blink | Gecko | Webkit | Trident | Blink |
Javascript引擎 | V8 | SpiderMonkey | Nitro | Chakra | V8 |