1.前端頁面有哪三層構(gòu)成食侮,分別是什么?作用是什么?
結(jié)構(gòu)層 Html 表示層 CSS 行為層 js。
2.你做的頁面在哪些流覽器測試過?這些瀏覽器的內(nèi)核分別是什么?
Trident內(nèi)核:IE,MaxThon,TT,The World,360,搜狗瀏覽器等栓拜。[又稱MSHTML]
Gecko內(nèi)核:Netscape6及以上版本浊猾,F(xiàn)F,MozillaSuite/SeaMonkey等
Presto內(nèi)核:Opera7及以上。? ? ? [Opera內(nèi)核原為:Presto爷绘,現(xiàn)為:Blink;]
Webkit內(nèi)核:Safari,Chrome等解藻。? [ Chrome的:Blink(WebKit的分支)]
3.請描述一下 cookies老充,sessionStorage 和 localStorage 的區(qū)別?
cookie是網(wǎng)站為了標示用戶身份而儲存在用戶本地終端(Client Side)上的數(shù)據(jù)(通常經(jīng)過加密)螟左。
cookie數(shù)據(jù)始終在同源的http請求中攜帶(即使不需要)啡浊,記會在瀏覽器和服務器間來回傳遞。
sessionStorage和localStorage不會自動把數(shù)據(jù)發(fā)給服務器胶背,僅在本地保存巷嚣。
存儲大小:
cookie數(shù)據(jù)大小不能超過4k钳吟。
sessionStorage和localStorage 雖然也有存儲大小的限制廷粒,但比cookie大得多,可以達到5M或更大红且。
有期時間:
localStorage? ? 存儲持久數(shù)據(jù)坝茎,瀏覽器關(guān)閉后數(shù)據(jù)不丟失除非主動刪除數(shù)據(jù);
sessionStorage? 數(shù)據(jù)在當前瀏覽器窗口關(guān)閉后自動刪除暇番。
cookie? ? ? ? ? 設置的cookie過期時間之前一直有效嗤放,即使窗口或瀏覽器關(guān)閉
4.HTML5 中的一些有趣的新特性:
1.用于繪畫的 canvas 元素
2.用于媒介回放的 video 和 audio 元素
3.對本地離線存儲的更好的支持
4.新的特殊內(nèi)容元素,比如 article奔誓、footer斤吐、header、nav厨喂、section
5.新的表單控件,比如 calendar庄呈、date蜕煌、time、email诬留、url斜纪、search
5.行內(nèi)元素有哪些?塊級元素有哪些?CSS的盒模型?
1.塊級元素:div p h1 h2 h3 h4 form ul
2.行內(nèi)元素: a b br i span input select
3.Css盒模型:內(nèi)容,border ,margin文兑,padding
6.CSS引入的方式有哪些? link和@import的區(qū)別是?
1.內(nèi)聯(lián) 內(nèi)嵌 外鏈 導入
2.區(qū)別 :同時加載
前者無兼容性盒刚,后者CSS2.1以下瀏覽器不支持
Link 支持使用javascript改變樣式,后者不可
7.CSS選擇符有哪些?哪些屬性可以繼承?優(yōu)先級算法如何計算?內(nèi)聯(lián)和important哪個優(yōu)先級高?
1.基本可以分為通配選擇器绿贞,標簽選擇器因块,類選擇器,ID選擇器籍铁,簡單屬性選擇涡上,具體屬性選擇趾断,根據(jù)部分屬性值選擇,特定屬性選擇吩愧,從結(jié)構(gòu)上來分還有后代選擇器芋酌,子元素選擇器,相鄰兄弟選擇器以及偽類雁佳。
2.可以的有 font-size font-family color
不可以的有 border padding margin background-color width height等
3.行內(nèi)樣式優(yōu)先級Specificity值為1,0,0,0脐帝,高于外部定義。
外部定義指經(jīng)由或<link>或<style>標簽定義的規(guī)則標簽定義的規(guī)則糖权;
標簽定義的規(guī)則腮恩;
!important聲明的Specificity值最高;
Specificity值一樣的情況下温兼,按CSS代碼中出現(xiàn)的順序決定秸滴,后者CSS樣式居上;
由繼續(xù)而得到的樣式?jīng)]有specificity的計算募判,它低于一切其他規(guī)則(比如全局選擇符*定義的規(guī)則)荡含。
用!important可以改變優(yōu)先級別為最高,其次是style對象届垫,然后是id > class >tag 释液,另外在同級樣式按照申明的順序后出現(xiàn)的樣式具有高優(yōu)先級。
8.垂直居中設置
1.使用position:absolute(fixed),設置left装处、top误债、margin-left、margin-top的屬性;
2.利用position:fixed(absolute)屬性妄迁,margin:auto這個必須不要忘記了;
3.利用display:table-cell屬性使內(nèi)容垂直居中;
4.使用css3的新屬性transform:translate(x,y)屬性;
5.使用:before元素;
9.寫出幾種IE6 BUG的解決方法
1.雙邊距BUG float引起的 使用display
2.3像素問題 使用float引起的 使用dislpay:inline -3px
3.超鏈接hover 點擊后失效 使用正確的書寫順序 link visited hover active
4.Ie z-index問題 給父級添加position:relative
5.Png 透明 使用js代碼 改
6.Min-height 最小高度 寝蹈!Important 解決’
7.select 在ie6下遮蓋 使用iframe嵌套
8.為什么沒有辦法定義1px左右的寬度容器(IE6默認的行高造成的,使用over:hidden,zoom:0.08 line-height:1px)
10.介紹一下CSS的盒子模型
1.有兩種登淘, IE 盒子模型箫老、標準 W3C 盒子模型;標準 W3C 盒子模型的范圍包括 margin黔州、border耍鬓、padding、content流妻,并且 content 部分不包含其他部分牲蜀。
IE 盒子模型的范圍也包括 margin、border绅这、padding涣达、content,和標準 W3C 盒子模型不同的是:IE 盒子模型的 content 部分包含了 border 和 pading。
2.盒模型: 內(nèi)容(content)峭判、填充(padding)开缎、邊界(margin)、 邊框(border).
11.CSS3有哪些新特性林螃?
CSS3實現(xiàn)圓角(border-radius:8px)奕删,陰影(box-shadow:10px),@Font-face(字體)
對文字加特效(text-shadow疗认、)完残,線性漸變(gradient),旋轉(zhuǎn)(transform),css3多列布局(multi-column layout)動畫(animation)
transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);//旋轉(zhuǎn),縮放,定位,傾斜
增加了更多的CSS選擇器 多背景 rgba,
12.簡述html語義化標簽
用正確的標簽做正確的事情横漏。
13.CSS display:none和visibility:hidden的區(qū)別
visibility:hidden隱藏谨设,但在瀏覽時保留位置
display:none視為不存在,且不加載
14.CSS清除浮動的幾種方法
1缎浇、【.clr{clear:both;}】扎拣,設置了clear屬性的元素,其上邊框會緊貼著浮動元素的margin-bottom邊界位置渲染素跺,忽略其margin-top設置
2二蓝、空標簽清浮動:【.clr{clear:both;height:0;overflow:hidden;}】,不推薦指厌。
3刊愚、偽類after清浮動:【.clr:after{content:" ";clear:both;display:block;height:0;visibility:hidden;line-height:0;} .clr{zoom:1}】。
4踩验、使用【display:table】鸥诽。
5、使用overflow除visible箕憾,類似于激發(fā)haslayout牡借。
6、使用浮動父元素清浮動厕九。
15.SASS或是Less區(qū)別
1.編譯環(huán)境不一樣
2.變量符不一樣蓖捶,Less是@,而Scss是$扁远,而且變量的作用域也不一樣。
3.輸出設置刻像,Less沒有輸出設置畅买,Sass提供4中輸出選項:nested, compact, compressed 和 expanded。
4.Sass支持條件語句细睡,可以使用if{}else{},for{}循環(huán)等等谷羞。而Less不支持。
5. 引用外部CSS文件
scss引用的外部文件命名必須以_開頭, 如下例所示:其中_test1.scss、_test2.scss湃缎、_test3.scss文件分別設置的h1 h2 h3犀填。文件名如果以下劃線_開頭的話,Sass會認為該文件是一個引用文件嗓违,不會將其編譯為css文件.
6.Sass和Less的工具庫不同
Sass有工具庫Compass, 簡單說九巡,Sass和Compass的關(guān)系有點像Javascript和jQuery的關(guān)系,Compass是Sass的工具庫。在它的基礎(chǔ)上蹂季,封裝了一系列有用的模塊和模板冕广,補充強化了Sass的功能。
Less有UI組件庫Bootstrap,Bootstrap是web前端開發(fā)中一個比較有名的前端UI組件庫偿洁,Bootstrap的樣式文件部分源碼就是采用Less語法編寫撒汉。