1.!doctype的作用是什么空猜?嚴(yán)格模式和混合模式如何區(qū)分绽慈?有何意義?
<抄肖!doctype>的作用是用于文檔類型聲明久信。
嚴(yán)格模式是瀏覽器根據(jù)web標(biāo)準(zhǔn)去解析頁面,是一種要求嚴(yán)格的DTD(文檔類型定義),不允許使用任何表現(xiàn)層的語法漓摩。
混雜模式是一種向后兼容的解析方法裙士,根據(jù)聲明的DTD類型判斷是哪種類型(過渡的、嚴(yán)格的)管毙,如果沒有文檔類型聲明腿椎,則是混雜模式,說的透明點(diǎn)就是可以實(shí)現(xiàn)IE5.5以下版本瀏覽器的渲染模式夭咬。
意義:混雜模式通常用于模擬老式瀏覽器的行為以防止老站點(diǎn)無法工作啃炸,可以通過加入XML聲明來觸發(fā)。
實(shí)際上:各個(gè)瀏覽器的混雜模式基本就是各個(gè)瀏覽器的私有模式卓舵,不相互兼容南用。所以,除非是為了兼容的問題掏湾,比如你不想修改很久很久以前做的IE ONLY的網(wǎng)頁裹虫,否則刻意觸發(fā)混雜模式?jīng)]有任何意義。
簡單點(diǎn)說:
區(qū)別:嚴(yán)格模式是瀏覽器根據(jù)規(guī)范去顯示頁面融击;混雜模式是以一種向后兼容的方式去顯示筑公。
意義:決定瀏覽器如何渲染網(wǎng)站(瀏覽器使用那種規(guī)范去解析網(wǎng)頁)。
觸發(fā):瀏覽器根據(jù)doctype是否使用哪種dtd來決定尊浪。
2.對WEB標(biāo)準(zhǔn)以及W3C的理解與認(rèn)識(shí)
標(biāo)簽閉合匣屡、標(biāo)簽小寫封救、不亂嵌套、提高搜索機(jī)器人搜索幾率捣作;使用外鏈css和js腳本誉结,結(jié)構(gòu)行為表現(xiàn)的分離,文件下載與頁面速度更快虾宇;內(nèi)容能被更多的用戶所訪問搓彻、內(nèi)容能被更廣泛的設(shè)備所訪問如绸;更少的代碼和組件嘱朽,容易維護(hù)、改版方便怔接,不需要變動(dòng)頁面內(nèi)容搪泳;提供打印版本而不需要復(fù)制內(nèi)容,提高網(wǎng)站易用性扼脐。
3.html岸军、xhtml、html5有什么區(qū)別和聯(lián)系
HTML是一種基本的WEB網(wǎng)頁設(shè)計(jì)語言瓦侮,XHTML是一個(gè)基于XML的置標(biāo)語言艰赞,關(guān)系上講,XHTML是HTML的子集肚吏,html5是html的最新標(biāo)準(zhǔn)方妖。(詳情)
其中:
XHTML 元素必須被正確地嵌套。
XHTML 元素必須被關(guān)閉罚攀。
標(biāo)簽名必須用小寫字母党觅。
XHTML 文檔必須擁有根元素。
4.行內(nèi)元素有哪些?塊級(jí)元素有哪些?CSS的盒模型?
塊級(jí)元素:div p h1 h2 h3 h4 form ul
行內(nèi)元素: a b br i span input select
CSS盒模型:content斋泄,border ,margin杯瞻,padding
5.CSS引入的方式有哪些? link和@import的區(qū)別是?
內(nèi)聯(lián) 內(nèi)嵌 外鏈 導(dǎo)入 (見詳情)
兩者都是外部引用CSS的方式,但是存在一定的區(qū)別:
link是XHTML標(biāo)簽炫掐,除了加載CSS外魁莉,還可以定義RSS(簡易信息聚合)等其他事務(wù);@import屬于CSS范疇募胃,只能加載CSS旗唁。
link引用CSS時(shí),在頁面載入時(shí)同時(shí)加載摔认;@import需要頁面網(wǎng)頁完全載入以后加載逆皮。
link是XHTML標(biāo)簽,無兼容問題参袱;@import是在CSS2.1提出的电谣,低版本的瀏覽器不支持秽梅。
link支持使用Javascript控制DOM去改變樣式;而@import不支持剿牺。
@import的優(yōu)勢在于可以在css文件中使用企垦,用來調(diào)用別的css。
6.CSS選擇符有哪些?哪些屬性可以繼承?優(yōu)先級(jí)算法如何計(jì)算?內(nèi)聯(lián)和important哪個(gè)優(yōu)先級(jí)高?
標(biāo)簽選擇符 類選擇符 id選擇符
指定>繼承 ? ? ? id>class>標(biāo)簽選擇
后者優(yōu)先級(jí)高
7.你做的頁面在哪些流覽器測試過?這些瀏覽器的內(nèi)核分別是什么?
Ie(Ie內(nèi)核) 火狐(Gecko) 谷歌(webkit) opear(Presto)
8.寫出幾種IE6 BUG的解決方法
1)雙邊距BUG:float引起的 給float的元素添加一個(gè)display:inline
2)3像素問題:當(dāng)浮動(dòng)元素與非浮動(dòng)元素相鄰時(shí)晒来,這個(gè)3像素的Bug就會(huì)出現(xiàn)钞诡,使用zoom和margin:-3px
3)超鏈接訪問后hover失效:使用正確的書寫順序 link visited hover active
4)ie z-index問題:給父級(jí)添加position:relative并加上z-index
5)透明PNG圖片有灰底:8種解決方案
6)min-height最小高度:min-height: 22px;height: auto!important;height: 22px;
7)select在ie6下遮蓋:使用iframe嵌套
8)為什么沒有辦法定義1px左右的寬度容器(IE6默認(rèn)的行高造成的,使用over:hidden,_zoom:0.08 line-height:1px)
9.zoom有什么作用湃崩?
1)zoom屬性是ie瀏覽器的專有屬性荧降,F(xiàn)irefox等瀏覽器不支持。
2)它可以設(shè)置或檢索對象的縮放比例(用法)
3)觸發(fā)ie的hasLayout屬性攒读,從而清除浮動(dòng)朵诫、清除margin的重疊等。其中薄扁,清除浮動(dòng)
{
overflow:hidden;
_zoom:1;
}
10.IE6 IE7 IE8的css hack(為什么有些css屬性前有短橫線剪返?)
color{
background-color: #CC00FF;? /*所有瀏覽器都會(huì)顯示為紫色*/
background-color: #FF0000\9; /*IE6、IE7邓梅、IE8會(huì)顯示紅色*/
*background-color: #0066FF;? /*IE6脱盲、IE7會(huì)變?yōu)樗{(lán)色*/
_background-color: #009933;? /*IE6會(huì)變?yōu)榫G色*/
}
好多css hack,最重要的是簡單實(shí)用能解決問題就行了
總結(jié):
\9: IE6 IE7 IE8
*: IE6 IE7
_: IE6
*+: IE7
11.描述css reset的作用和用途日缨。
Reset重置瀏覽器的css默認(rèn)屬性 瀏覽器的品種不同钱反,樣式不同,然后重置殿遂,讓他們統(tǒng)一(詳情)
12.你如何對網(wǎng)站的文件和資源進(jìn)行優(yōu)化?期待的解決方案包括:
文件合并
文件最小化/文件壓縮
使用CDN托管
緩存的使用
13.清除浮動(dòng)的幾種方式诈铛,各自的優(yōu)缺點(diǎn)
1.使用空標(biāo)簽清除浮動(dòng)clear:both(理論上能清楚任何標(biāo)簽,但增加了無意義的標(biāo)簽)
2.使用overflow:auto(使用zoom:1用于兼容IE)
3.使用afert偽元素清除浮動(dòng)(用于非IE瀏覽器)
4.其他
14.各種居中問題
15.javascript的typeof返回哪些數(shù)據(jù)類型
object number function boolean underfind string
16.split() join() 的區(qū)別
前者是切割成數(shù)組的形式墨礁,后者是將數(shù)組轉(zhuǎn)換成字符串
17.數(shù)組方法pop() push() unshift() shift()
push()尾部添加 pop()尾部刪除
unshift()頭部添加 shift()頭部刪除
18.ajax請求的時(shí)候get 和post方式的區(qū)別
一個(gè)在url后面 一個(gè)放在虛擬載體里面
有大小限制
安全問題
應(yīng)用不同 一個(gè)是論壇等只需要請求的幢竹,一個(gè)是類似修改密碼的