web前端工程師面試題10條必會筆試題

千鋒HTML5學院發表於2019-05-05


  • 佈局 左邊20% 中間自適應 右邊200px 不能用定位

答案:聖盃佈局/雙飛翼佈局或者flex

  • 什麼叫優雅降級和漸進增強?

漸進增強 progressive enhancement:針對低版本瀏覽器進行構建頁面,保證最基本的功能,然後再針對高階瀏覽器進行效果、互動等改進和追加功能達到更好的使用者體驗。

優雅降級 graceful degradation:一開始就構建完整的功能,然後再針對低版本瀏覽器進行相容。

區別:優雅降級是從複雜的現狀開始,並試圖減少使用者體驗的供給,而漸進增強則是從一個非常基礎的,能夠起作用的版本開始,並不斷擴充,以適應未來環境的需要。降級(功能衰減)意味著往回看;而漸進增強則意味著朝前看,同時保證其根基處於安全地帶。

 “優雅降級”觀點認為應該針對那些最高階、最完善的瀏覽器來設計網站。而將那些被認為“過時”或有功能缺失的瀏覽器下的測試工作安排在開發週期的最後階段,並把測試物件限定為主流瀏覽器(如 IE、Mozilla 等)的前一個版本。

在這種設計範例下,舊版的瀏覽器被認為僅能提供“簡陋卻無妨 (poor, but passable)” 的瀏覽體驗。你可以做一些小的調整來適應某個特定的瀏覽器。但由於它們並非我們所關注的焦點,因此除了修復較大的錯誤之外,其它的差異將被直接忽略。

 “漸進增強”觀點則認為應關注於內容本身。

內容是我們建立網站的誘因。有的網站展示它,有的則收集它,有的尋求,有的操作,還有的網站甚至會包含以上的種種,但相同點是它們全都涉及到內容。這使得“漸進增強”成為一種更為合理的設計範例。這也是它立即被 Yahoo! 所採納並用以構建其“分級式瀏覽器支援 (Graded Browser Support)”策略的原因所在。

8dc76f2a0f7143d1a9d009c357846820.png

  • 簡述一下src與href的區別

src用於替換當前元素,href用於在當前文件和引用資源之間確立聯絡。src是source的縮寫,指向外部資源的位置,指向的內容將會嵌入到文件中當前標籤所在位置;在請求src資源時會將其指向的資源下載並應用到文件內,例如js指令碼,img圖片和frame等元素。<script src =”js.js”></script>當瀏覽器解析到該元素時,會暫停其他資源的下載和處理,直到將該資源載入、編譯、執行完畢,圖片和框架等元素也如此,類似於將所指向資源嵌入當前標籤內。這也是為什麼將js指令碼放在底部而不是頭部。

href是Hypertext Reference的縮寫,指向網路資源所在位置,建立和當前元素(錨點)或當前文件(連結)之間的連結,如果我們在文件中新增<link href=”common.css” rel=”stylesheet”/>那麼瀏覽器會識別該文件為css檔案,就會並行下載資源並且不會停止對當前文件的處理。這也是為什麼建議使用link方式來載入css,而不是使用@import方式。

  • z-index是什麼?在position的值是什麼時可以觸發?

答案:absolute,relative,fixed, sticky

  • 什麼是標準文件流?

文件流指的是元素排版佈局過程中,遵循於從上向下,從左向右的流式排列。並最終窗體自上而下分成一行行,並在每行中從左至右的順序排放元素。

分為兩種等級:塊級元素和行內元素;

塊級元素:

1).霸佔一行,不能與其他任何元素並列

2).能接受寬、高

3).如果不設定寬度,那麼寬度將預設變為父親的100%,即和父親一樣寬

行內元素:

1).與其他元素並排

2).不能設定寬、高。預設的寬度就是文字的寬度

在HTML中,標籤分為:文字級和容器級;

文字級:p、span、a、b、i、u、em

容器級:div、h系列、li、dt、dd

  • 簡述選擇器~和+的區別

答案:都是層級選擇器

相鄰兄弟選擇器: E + F, 選中的僅是一個元素。同級並且F元素在E元素的後面。

通用兄弟選擇器:E ~ F   選中的是與E相鄰的後面的兄弟元素f

  • flex中元素的margin是否會合並

答案:不會合並

  • <div><div></div></div>,父元素和子元素寬高不固定,如何實現水平垂直居中

答案: 

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<style>

*{

margin: 0;

padding: 0;

}

html,body{height: 100%;}

body{

display: flex;

}

section{

background: pink;

display: flex;

flex: 1;

align-items: center;

justify-content: center;

}

article{

background: blue;

}

</style>

</head>

<body>

<section>

<article>123</article>

</section>

</body>

</html>

  • 簡述title與h1的區別,b與strong的區別,i與em的區別

1、title是網站header部分的內容是網站的標題,而h表示body內的標題

2、但從視覺上效果觀看b與strong、i與em是沒有區別的,唯一區別是搜尋引擎檢索的時候搜尋引擎可以識別strong、em標籤、而不能識別b與i標籤

  • 請問蘋果原生瀏覽器中預設樣式如何清除,例如button,input的預設樣式(谷歌瀏覽器沒有問題)

input[type="submit"],

input[type="reset"],

input[type="button"],

button {

 -webkit-appearance: none;

}

文章來自知乎:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917019/viewspace-2643315/,如需轉載,請註明出處,否則將追究法律責任。

相關文章