1. 程式人生 > >web前端面試題整理(前端和計算機相關知識)

web前端面試題整理(前端和計算機相關知識)

1. 你能描述一下漸進增強和優雅降級之間的不同嗎?定義:優雅降級(graceful degradation): 一開始就構建站點的完整功能,然後針對瀏覽器測試和修復漸進增強(progressive enhancement): 一開始只構建站點的最少特性,然後不斷針對各瀏覽器追加功能。都關注於同一網站在不同裝置裡不同瀏覽器下的表現程度區別:
優雅降級觀點認為應該針對那些最高階、最完善的瀏覽器來設計網站. 而將那些被認為過時或有功能缺失的瀏覽器下的測試工作安排在開發週期的最後階段,並把測試物件限定為主流瀏覽器(如 IEMozilla 等)的前一個版本。
漸進增強觀點則認為應關注於內容本身。請注意其中的差別:我甚至連
瀏覽器三個字都沒提。理解:
"
優雅降級"就是首先完整地實現整個網站,包括其中的功能和效果. 然後再為那些無法支援所有功能的瀏覽器增加候選方案, 使之在舊式瀏覽器上以某種形式降級體驗卻不至於完全失效.
"
漸進增強"則是從瀏覽器支援的基本功能開始, 首先為所有裝置準備好清晰且語義化的html及完整內容, 然後再以無侵入的方法向頁面增加無害於基礎瀏覽器的額外樣式和功能. 當瀏覽器升級時, 它們會自動呈現併發揮作用.2. 瀏覽器相容問題:問題1不同瀏覽器的標籤預設的外補丁和內補丁不同.即隨便寫幾個標籤, 在不加樣式控制的情況下, 各自的marginpadding差異較大.解決方法: CCS:   *{margin:0;padding:0}
問題2塊屬性標籤float後,又有橫行的margin情況下,在IE6顯示margin比設定的大  會使得ie6後面的一塊被頂到下一行.解決方案: float的標籤樣式中加入display: inline; 將其轉化為行內屬性問題3設定較小高度標籤(一般小於10px),在IE6IE7,遨遊中高度超出自己設定高度
IE6
7和遨遊裡這個標籤的高度不受控制,超出自己設定的高度解決方案: 給超出高度的標籤設定overflow:hidden;或者設定行高line-height 小於你設定的高度原因: ie8之前的瀏覽器都會給標籤一個最小預設的行高的高度. 即使標籤是空的,這個標籤的高度還是會達到預設的行高
.問題4行內屬性標籤,設定display:block後採用float佈局,又有橫行的margin的情況,IE6間距bug解決: display:block;後面加入display:inline;display:table;問題5圖片預設有間距幾個img標籤放在一起的時候,有些瀏覽器會有預設的間距,加了問題一中提到的萬用字元也不起作用。解決: 使用float屬性為img佈局問題6標籤最低高度設定min-height不相容因為min-height本身就是一個不相容的CSS屬性,所以設定min-height時不能很好的被各個瀏覽器相容如果我們要設定一個標籤的最小高度200px,需要進行的設定為:{min-height:200px;height:auto !important; height:200px; overflow:visible;}問題7透明度的相容CSS設定使用hacker
IE6
認識的hacker是下劃線_*
IE7,
遨遊認識的hacker*問題8  IEol的序號全為1, 不遞增解決: li設定樣式{display: list-item}問題9ie6,7不支援display:inline-block解決方法: 設定inline並觸法haslayout

display:inline-block; *display:inline; *zoom:1

需要web前端課程工具和電子書,可以加: 33105601600(22群已滿員,請關注新群)

【內容展示有限,可以加群下載,群檔案會定期更新學習資料,以及練手小案例】