1 Doctype作用? 嚴(yán)格模式與混雜模式如何區(qū)分?它們有何意義?
(1)、 聲明位于文檔中的最前面,處于 標(biāo)簽之前。告知瀏覽器的解析器,用什么文檔類型 規(guī)范來(lái)解析這個(gè)文檔。 (2)、嚴(yán)格模式的排版和 JS 運(yùn)作模式是 以該瀏覽器支持的最高標(biāo)準(zhǔn)運(yùn)行。 (3)、在混雜模式中,頁(yè)面以寬松的向后兼容的方式顯示。模擬老式瀏覽器的行為以防止站點(diǎn)無(wú)法工作。 (4)、DOCTYPE不存在或格式不正確會(huì)導(dǎo)致文檔以混雜模式呈現(xiàn)。
2 行內(nèi)元素有哪些?塊級(jí)元素有哪些?
(1)CSS規(guī)范規(guī)定,每個(gè)元素都有display屬性,確定該元素的類型,每個(gè)元素都有默認(rèn)的display值, 比如div默認(rèn)display屬性值為“block”,成為“塊級(jí)”元素; span默認(rèn)display屬性值為“inline”,是“行內(nèi)”元素。
(2)行內(nèi)元素有:a b span img input select strong(強(qiáng)調(diào)的語(yǔ)氣) 塊級(jí)元素有:div ul ol li dl dt dd h1 h2 h3 h4…p
3 link 和@import 的區(qū)別是?
(1)link屬于XHTML標(biāo)簽,而@import是CSS提供的; (2)頁(yè)面被加載的時(shí),link會(huì)同時(shí)被加載,而@import引用的CSS會(huì)等到頁(yè)面被加載完再加載; (3)import只在IE5以上才能識(shí)別,而link是XHTML標(biāo)簽,無(wú)兼容問(wèn)題; (4)link方式的樣式的權(quán)重 高于@import的權(quán)重.
4 瀏覽器的內(nèi)核分別是什么?
IE瀏覽器的內(nèi)核Trident、Mozilla的Gecko、Chrome的Blink(WebKit的分支)、Opera內(nèi)核原為Presto,現(xiàn)為Blink;
5 HTML5有哪些新特性?如何處理HTML5新標(biāo)簽的瀏覽器兼容問(wèn)題?如何區(qū)分 HTML 和 HTML5?
HTML5 現(xiàn)在已經(jīng)不是 SGML 的子集,主要是關(guān)于圖像,位置,存儲(chǔ),多任務(wù)等功能的增加。 繪畫(huà) canvas 用于媒介回放的 video 和 audio 元素 本地離線存儲(chǔ) localStorage 長(zhǎng)期存儲(chǔ)數(shù)據(jù),瀏覽器關(guān)閉后數(shù)據(jù)不丟失; sessionStorage 的數(shù)據(jù)在瀏覽器關(guān)閉后自動(dòng)刪除 語(yǔ)意化更好的內(nèi)容元素,比如 article、footer、header、nav、section 表單控件,calendar、date、time、email、url、search 新的技術(shù)webworker, websockt, Geolocation
6 對(duì)語(yǔ)義化如何理解?
用正確的標(biāo)簽做正確的事情! HTML語(yǔ)義化就是讓頁(yè)面的內(nèi)容結(jié)構(gòu)化,便于對(duì)瀏覽器、搜索引擎解析;在沒(méi)有樣式CCS情況下也以一種文檔格式顯示,并且是容易閱讀的。搜索引擎的爬蟲(chóng)依賴于標(biāo)記來(lái)確定上下文和各個(gè)關(guān)鍵字的權(quán)重,利于 SEO。使閱讀源代碼的人對(duì)網(wǎng)站更容易將網(wǎng)站分塊,便于閱讀維護(hù)理解。
7 HTML5的離線儲(chǔ)存有幾種方式?
localStorage長(zhǎng)期存儲(chǔ)數(shù)據(jù),瀏覽器關(guān)閉后數(shù)據(jù)不丟失;sessionStorage 數(shù)據(jù)在瀏覽器關(guān)閉后自動(dòng)刪除。
8 iframe有那些缺點(diǎn)?
iframe會(huì)阻塞主頁(yè)面的Onload事件; iframe和主頁(yè)面共享連接池,而瀏覽器對(duì)相同域的連接有限制,所以會(huì)影響頁(yè)面的并行加載。使用iframe之前需要考慮這兩個(gè)缺點(diǎn)。如果需要使用iframe,最好是通過(guò)javascript動(dòng)態(tài)給iframe添加src屬性值,這樣可以可以繞開(kāi)以上兩個(gè)問(wèn)題。
9 請(qǐng)描述一下 cookies,sessionStorage 和 localStorage 的區(qū)別?
cookie在瀏覽器和服務(wù)器間來(lái)回傳遞。 sessionStorage和localStorage不會(huì)sessionStorage和localStorage的存儲(chǔ)空間更大;sessionStorage和localStorage有更多豐富易用的接口;sessionStorage和localStorage各自獨(dú)立的存儲(chǔ)空間;
10 CSS 選擇符有哪些?哪些屬性可以繼承??jī)?yōu)先級(jí)算法如何計(jì)算? CSS3新增偽類有那些?
1.id選擇器( # myid) 2.類選擇器(.myclassname)
3.標(biāo)簽選擇器(div, h1, p) 4.相鄰選擇器(h1 + p)
5.子選擇器(ul < li) 6.后代選擇器(li a)
7.通配符選擇器( * ) 8.屬性選擇器(a[rel = "external"])
可繼承的樣式: font-size font-family color, UL LI DL DD DT; 不可繼承的樣式:border padding margin width height ; 優(yōu)先級(jí)就近原則,同權(quán)重情況下樣式定義最近者為準(zhǔn); 載入樣式以最后載入的定位為準(zhǔn); 優(yōu)先級(jí)為: !important > id > class > tag important 比 內(nèi)聯(lián)優(yōu)先級(jí)高
11 CSS3新增偽類舉例:
p:first-of-type 選擇屬于其父元素的首個(gè)元素的每個(gè)元素。 p:last-of-type 選擇屬于其父元素的最后元素的每個(gè)元素。 p:only-of-type 選擇屬于其父元素唯一的元素的每個(gè)元素。 p:only-child 選擇屬于其父元素的唯一子元素的每個(gè)元素。 p:nth-child(2) 選擇屬于其父元素的第二個(gè)子元素的每個(gè)元素。 :enabled :disabled 控制表單控件的禁用態(tài)。 :checked單選框或復(fù)選框被選中。
12 如何居中div?如何居中一個(gè)浮動(dòng)元素?
給div設(shè)置一個(gè)寬度,然后添加margin:0 auto屬性 div{ width:200px; margin:0 auto; }
居中一個(gè)浮動(dòng)元素 確定容器的寬高 寬500 高 300 的層 設(shè)置層的外邊距 .div { Width:500px ; height:300px;//高度可以不設(shè) Margin: -150px 0 0 -250px; position:relative;相對(duì)定位 background-color:pink;//方便看效果 left:50%; top:50%;}
列出display的值,說(shuō)明他們的作用。position的值, relative和absolute定位原點(diǎn)是? 1.block 象塊類型元素一樣顯示。 none 缺省值。象行內(nèi)元素類型一樣顯示。 inline-block 象行內(nèi)元素一樣顯示,但其內(nèi)容象塊類型元素一樣顯示。 list-item 象塊類型元素一樣顯示,并添加樣式列表標(biāo)記。
2. absolute 生成絕對(duì)定位的元素,相對(duì)于 static 定位以外的第一個(gè)父元素進(jìn)行定位。 fixed (老IE不支持) 生成絕對(duì)定位的元素,相對(duì)于瀏覽器窗口進(jìn)行定位。
relative 生成相對(duì)定位的元素,相對(duì)于其正常位置進(jìn)行定位。
static 默認(rèn)值。沒(méi)有定位,元素出現(xiàn)在正常的流中 * (忽略 top, bottom, left, right z-index 聲明)。 inherit 規(guī)定從父元素繼承 position 屬性的值。
13 為什么要初始化CSS樣式?
因?yàn)闉g覽器的兼容問(wèn)題,不同瀏覽器對(duì)有些標(biāo)簽的默認(rèn)值是不同的,如果沒(méi)對(duì)CSS初始化往往會(huì)出現(xiàn)瀏覽器之間的頁(yè)面顯示差異。當(dāng)然,初始化樣式會(huì)對(duì)SEO有一定的影響,但魚(yú)和熊掌不可兼得,但力求影響最小的情況下初始化。最簡(jiǎn)單的初始化方法就是: * {padding: 0; margin: 0;} (不建議)淘寶的樣式初始化: body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, legend, button, input, textarea, th, td { margin:0; padding:0; }body, button, input, select, textarea { font:12px/1.5tahoma, arial, /5b8b/4f53; }h1, h2, h3, h4, h5, h6{ font-size:100%; }address, cite, dfn, em, var { font-style:normal; }code, kbd, pre, samp { font-family:couriernew, courier, monospace; }small{ font-size:12px; }ul, ol { list-style:none; }a { text-decoration:none; }a:hover { text-decoration:underline; }sup { vertical-align:text-top; }sub{ vertical-align:text-bottom; }legend { color:#000; }fieldset, img { border:0; }button, input, select, textarea { font-size:100%; }table { border-collapse:collapse; border-spacing:0; }
14 css定義的權(quán)重
以下是權(quán)重的規(guī)則:標(biāo)簽的權(quán)重為1,class的權(quán)重為10,id的權(quán)重為100,以下例子是演示各種定義的權(quán)重值:/* 權(quán)重為1* /div{}/* 權(quán)重為10*/.class1{}/* 權(quán)重為100*/#id1{}/* 權(quán)重為100+1=101*/#id1 div{}/* 權(quán)重為10+1=11* /.class1 div{}/* 權(quán)重為10+10+1=21*/.class1 .class2 div{} 如果權(quán)重相同,則最后定義的樣式會(huì)起作用,但是應(yīng)該避免這種情況出現(xiàn)
15 CSS3有哪些新特性?
CSS3實(shí)現(xiàn)圓角(border-radius:8px),陰影(box-shadow:10px), 對(duì)文字加特效(text-shadow、),線性漸變(gradient),旋轉(zhuǎn)(transform) transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);//旋轉(zhuǎn),縮放,定位,傾斜 增加了更多的CSS選擇器 多背景 rgba
16 介紹一下CSS的盒子模型?
?。?)有兩種, IE 盒子模型、標(biāo)準(zhǔn) W3C 盒子模型;IE的content部分包含了 border 和 pading;
?。?)盒模型: 內(nèi)容(content)、填充(padding)、邊界(margin)、 邊框(border).
17 對(duì)WEB標(biāo)準(zhǔn)以及W3C的理解與認(rèn)識(shí)?
標(biāo)簽閉合、標(biāo)簽小寫、不亂嵌套、提高搜索機(jī)器人搜索幾率、使用外鏈css和js腳本、結(jié)構(gòu)行為表現(xiàn)的分離、文件下載與頁(yè)面速度更快、內(nèi)容能被更多的用戶所訪問(wèn)、內(nèi)容能被更廣泛的設(shè)備所訪問(wèn)、更少的代碼和組件,容易維護(hù)、改版方便,不需要變動(dòng)頁(yè)面內(nèi)容、提供打印版本而不需要復(fù)制內(nèi)容、提高網(wǎng)站易用性;
18 XHTML和HTML有什么區(qū)別?
HTML是一種基本的WEB網(wǎng)頁(yè)設(shè)計(jì)語(yǔ)言,XHTML是一個(gè)基于XML的置標(biāo)語(yǔ)言最主要的不同: XHTML 元素必須被正確地嵌套。 XHTML 元素必須被關(guān)閉。標(biāo)簽名必須用小寫字母。 XHTML 文檔必須擁有根元素。
19 Doctype?嚴(yán)格模式與混雜模式如何觸發(fā)這兩種模式,區(qū)分它們有何意義?
用于聲明文檔使用那種規(guī)范(HTML/XHTML)一般為 嚴(yán)格 過(guò)度 基于框架的html文檔 加入XMl聲明可觸發(fā),解析方式更改為IE5.5 擁有IE5.5的bug
20 行內(nèi)元素有哪些?塊級(jí)元素有哪些?CSS的盒模型?
塊級(jí)元素:div p h1 h2 h3 h4 form ul 行內(nèi)元素: a b br i span input select Css盒模型:內(nèi)容,border ,margin,padding
21 CSS引入的方式有哪些? link和@import的區(qū)別是?
內(nèi)聯(lián) 內(nèi)嵌 外鏈 導(dǎo)入 區(qū)別 :同時(shí)加載前者無(wú)兼容性,后者CSS2.1以下瀏覽器不支持 Link 支持使用javascript改變樣式,后者不可
22 CSS選擇符有哪些?哪些屬性可以繼承?優(yōu)先級(jí)算法如何計(jì)算?內(nèi)聯(lián)和important哪個(gè)優(yōu)先級(jí)高?
標(biāo)簽選擇符 類選擇符 id選擇符 繼承不如指定 Id>class>標(biāo)簽選擇 后者優(yōu)先級(jí)高
23 前端頁(yè)面有哪三層構(gòu)成,分別是什么?作用是什么?
結(jié)構(gòu)層 HTML 表示層 CSS 行為層 js
24 CSS的基本語(yǔ)句構(gòu)成是?
選擇器{屬性1:值1;屬性2:值2;……}
25 你做的頁(yè)面在哪些流覽器測(cè)試過(guò)?這些瀏覽器的內(nèi)核分別是什么?
Ie(Ie內(nèi)核) 火狐(Gecko) 谷歌(webkit) opear(Presto)
26 寫出幾種IE6 BUG的解決方法
1.雙邊距BUG float引起的 使用display 2.3像素問(wèn)題 使用float引起的 使用dislpay:inline -3px 3.超鏈接hover 點(diǎn)擊后失效 使用正確的書(shū)寫順序 link visited hover active 4.Ie z-index問(wèn)題 給父級(jí)添加position:relative 5.Png 透明 使用js代碼 改 6.Min-height 最小高度 !Important 解決’ 7.select 在ie6下遮蓋 使用iframe嵌套 8.為什么沒(méi)有辦法定義1px左右的寬度容器(IE6默認(rèn)的行高造成的,使用over:hidden,zoom:0.08 line-height:1px) 9.ie 6 不支持!important
27 img標(biāo)簽上title與alt屬性的區(qū)別是什么?
Alt 當(dāng)圖片不顯示是 用文字代表。 Title 為該屬性提供信息
28 描述css reset的作用和用途。
Reset重置瀏覽器的css默認(rèn)屬性 瀏覽器的品種不同,樣式不同,然后重置,讓他們統(tǒng)一
29 解釋css sprites,如何使用。
Css 精靈 把一堆小的圖片整合到一張大的圖片上,減輕服務(wù)器對(duì)圖片的請(qǐng)求數(shù)量
30 瀏覽器標(biāo)準(zhǔn)模式和怪異模式之間的區(qū)別是什么?
盒子模型 渲染模式的不同 使用 window.top.document.compatMode 可顯示為什么模式
31 你如何對(duì)網(wǎng)站的文件和資源進(jìn)行優(yōu)化?期待的解決方案包括:
文件合并 文件最小化/文件壓縮 使用CDN托管 緩存的使用
32 什么是語(yǔ)義化的HTML?
直觀的認(rèn)識(shí)標(biāo)簽 對(duì)于搜索引擎的抓取有好處
33 清除浮動(dòng)的幾種方式,各自的優(yōu)缺點(diǎn)
1.使用空標(biāo)簽清除浮動(dòng) clear:both(理論上能清楚任何標(biāo)簽,增加無(wú)意義的標(biāo)簽) 2.使用overflow:auto(空標(biāo)簽元素清除浮動(dòng)而不得不增加無(wú)意代碼的弊端,,使用zoom:1用于兼容IE) 3.是用afert偽元素清除浮動(dòng)(用于非IE瀏覽器)
34 javascript的typeof返回哪些數(shù)據(jù)類型
Object number function boolean underfind
35 例舉3種強(qiáng)制類型轉(zhuǎn)換和2種隱式類型轉(zhuǎn)換?
強(qiáng)制(parseInt,parseFloat,number) 隱式(== – ===)
36 split() join() 的區(qū)別
前者是切割成數(shù)組的形式,后者是將數(shù)組轉(zhuǎn)換成字符串
37 數(shù)組方法pop() push() unshift() shift()
Push()尾部添加 pop()尾部刪除 Unshift()頭部添加 shift()頭部刪除
38 事件綁定和普通事件有什么區(qū)別
39 IE和DOM事件流的區(qū)別
1.執(zhí)行順序不一樣、 2.參數(shù)不一樣 3.事件加不加on 4.this指向問(wèn)題
40 IE和標(biāo)準(zhǔn)下有哪些兼容性的寫法
Var ev = ev || window.event document.documentElement.clientWidth || document.body.clientWidth Var target = ev.srcElement||ev.target