11.為什么要初始化CSS樣式?
因為瀏覽器的兼容問題,不同瀏覽器對有些標簽的默認值是不同的,如果沒對CSS初始化往往會出現瀏覽器之間的頁面顯示差異。
當然,初始化樣式會對SEO有一定的影響,但魚和熊掌不可兼得,但力求影響最小的情況下初始化。
12.對BFC規范的理解?
BFC,塊級格式化上下文,一個創建了新的BFC的盒子是獨立布局的,盒子里面的子元素的樣式不會影響到外面的元素。在同一個 BFC 中的兩個毗鄰的塊級盒在垂直方向(和布局方向有關系)的 margin 會發生折疊。
W3C CSS 2.1 規范中的一個概念,它決定了元素如何對其內容進行布局,以及與其他元素的關系和相互作用。
13.解釋下 CSS sprites,以及你要如何在頁面或網站中使用它。
CSS Sprites 其實就是把網頁中一些背景圖片整合到一張圖片文件中,再利用 CSS 的"background-image","background-repeat","background-position"的組合進行背景定位,background-position 可以用數字能精確的定位出背景圖片的位置。這樣可以減少很多圖片請求的開銷,因為請求耗時比較長;請求雖然可以并發,但是也有限制,一般瀏覽器都是6個。對于未來而言,就不需要這樣做了,因為有了 http2。
14. 說說你對語義化的理解?
- 去掉或者丟失樣式的時候能夠讓頁面呈現出清晰的結構
- 有利于SEO:和搜索引擎建立良好溝通,有助于爬蟲抓取更多的有效信息:爬蟲依賴于標簽來確定上下文和各個關鍵字的權重;
- 方便其他設備解析(如屏幕閱讀器、盲人閱讀器、移動設備)以意義的方式來渲染網頁;
- 便于團隊開發和維護,語義化更具可讀性,是下一步吧網頁的重要動向,遵循W3C標準的團隊都遵循這個標準,可以減少差異化。
15. Doctype作用? 嚴格模式與混雜模式如何區分?它們有何意義?
1.<!DOCTYPE> 聲明位于文檔中的最前面,處于 <html> 標簽之前。告知瀏覽器以何種模式來渲染文檔。 2. 嚴格模式的排版和 JS 運作模式是 以該瀏覽器支持的最高標準運行。3. 在混雜模式中,頁面以寬松的向后兼容的方式顯示。模擬老式瀏覽器的行為以防止站點無法工作。4. DOCTYPE不存在或格式不正確會導致文檔以混雜模式呈現。
16. 你知道多少種Doctype文檔類型?
- 該標簽可聲明三種 DTD 類型,分別表示嚴格版本、過渡版本以及基于框架的 HTML 文檔。
- HTML 4.01 規定了三種文檔類型:Strict、Transitional 以及 Frameset。
- XHTML 1.0 規定了三種 XML 文檔類型:Strict、Transitional 以及 Frameset。
- Standards (標準)模式(也就是嚴格呈現模式)用于呈現遵循最新標準的網頁,而 Quirks(包容)模式(也就是松散呈現模式或者兼容模式)用于呈現為傳統瀏覽器而設計的網頁。
17. HTML與XHTML——二者有什么區別
- 所有的標記都必須要有一個相應的結束標記
- 所有標簽的元素和屬性的名字都必須使用小寫
- 所有的 XML 標記都必須合理嵌套
- 所有的屬性必須用引號 "" 括起來
- 把所有 < 和 & 特殊符號用編碼表示
- 給所有屬性賦一個值
- 不要在注釋內容中使用 "--"
- 圖片必須有說明文字
18.解釋下浮動和它的工作原理?清楚浮動的技巧
浮動元素脫離文檔流,不占據空間。浮動元素碰到包含它的邊框或者浮動元素的邊框停留。
- 使用空標簽清除浮動。
這種方法是在所有浮動標簽后面添加一個空標簽 定義cssclear:both. 弊端就是增加了無意義標簽。 - 使用overflow。
給包含浮動元素的父標簽添加css屬性 overflow:auto; zoom:1; zoom:1用于兼容IE6。 - 使用after偽對象清除浮動。
該方法只適用于非IE瀏覽器。具體寫法可參照以下示例。使用中需注意以下幾點。一、該方法中必須為需要清除浮動元素的偽對象中設置 height:0,否則該元素會比實際高出若干像素;