1. 程式人生 > >前端面試問題css匯總

前端面試問題css匯總

相加 mar num 資源下載 服務端 color 長度 前端 最大的

1,行內元素有哪些?塊級元素有哪些?空元素有哪些?CSS的盒模型?  

  塊級元素:div p h1 h2 h3 h4 form ul li
  行內元素: a b br i span input select

  空元素:即沒有內容的HTML元素,例如:br、meta、hr、link、input、img
  css盒模型:content,padding,border ,margin(盒模型順序)

  行內元素的margin padding是無效的,需要display:inline

  用display:inline-block 強制將塊級元素轉為行內元素。註意有3px間距。letter-spacing可以消除這個間距

2,描述css reset的作用和用途。

  reset重置瀏覽器的css默認屬性 瀏覽器的品種不同,樣式不同,然後重置,讓他們統一。

3,如何減輕服務器對圖片請求的壓力

  使用雪碧圖,減少服務器請求圖片的數量

4,CSS實現垂直水平居中

  HTML結構:

    <div class="wrapper">
        <div class="content"></div>
    </div>    

  CSS:

    .wrapper {
      position: relative;
      width: 500px;
      height: 500px;
      background-color: #ddd;
     }
    .content{
        background-color:#6699FF;
        width:200px;
        height:200px;
        position: absolute;        //父元素需要相對定位
        top: 50%;
        left: 50%;
        margin-top:-100px ;   //二分之一的height,width
        margin-left: -100px;
    } 

5,簡述一下src與href的區別

href 是指向網絡資源所在位置,建立和當前元素(錨點)或當前文檔(鏈接)之間的鏈接,用於超鏈接。

src是指向外部資源的位置,指向的內容將會嵌入到文檔中當前標簽所在位置;在請求src資源時會將其指向的資源下載並應用到文檔內,例如js腳本,img圖片和frame等元素。當瀏覽器解析到該元素時,會暫停其他資源的下載和處理,直到將該資源加載、編譯、執行完畢,圖片和框架等元素也如此,類似於將所指向資源嵌入當前標簽內。這也是為什麽將js腳本放在底部而不是頭部。

6、什麽是css hack ?css hack解決的問題?

  CSS hack是通過在CSS樣式中加入一些特殊的符號,讓不同的瀏覽器識別不同的符號(什麽樣的瀏覽器識別什麽樣的符號是有標準的,CSS hack就是讓你記住這個標準),以達到應用不同的CSS樣式的目的

  CSS hack用來解決有些css屬性在不同瀏覽器中顯示的效果不一樣的問題(參考文檔:http://www.kwstu.com/Admin/ViewArticle/201409011604277330)

  不同瀏覽器的內核:IE瀏覽器的內核Trident、 Mozilla的Gecko、google的WebKit、Opera內核Presto,Firefox:gecko內核;

7、px和em的區別

  px和em都是長度單位,區別是,px的值是固定的,指定是多少就是多少,計算比較容易。em得值不是固定的,並且em會繼承父級元素的字體大小。
  瀏覽器的默認字體高都是16px。所以未經調整的瀏覽器都符合: 1em=16px。那麽12px=0.75em, 10px=0.625em

8,有哪些方式可以對一個DOM設置它的CSS樣式? 

  外部樣式表,引入一個外部css文件

  內部樣式表,將css代碼放在標簽內部

  內聯樣式,將css樣式直接定義在 HTML 元素內部

9、CSS都有哪些選擇器? 派生選擇器(用HTML標簽申明)

  id選擇器(用DOM的ID申明)

  類選擇器(用一個樣式類名申明)

  屬性選擇器(用DOM的屬性申明,屬於CSS2,IE6不支持,不常用,不知道就算了)

  除了前3種基本選擇器,還有一些擴展選擇器,包括

  後代選擇器(利用空格間隔,比如div .a{ })

  群組選擇器(利用逗號間隔,比如p,div,#a{ })

  選擇器越特殊,選擇指向越準確,優先級越高。

  css 奇數、偶數選擇器。奇數:p:nth-child(odd);偶數:p:nth-child(even)

10,rgba()和opacity的透明效果有什麽不同?

  rgba()和opacity都能實現透明效果,但最大的不同是opacity作用於元素,以及元素內的所有內容的透明度,

  而rgba()只作用於元素的顏色或其背景色。(設置rgba透明的元素的子元素不會繼承透明效果!)

11,Sass、LESS是什麽?大家為什麽要使用他們?

   他們是CSS預處理器。他是CSS上的一種抽象層。他們是一種特殊的語法/語言編譯成CSS。

  例如Less是一種動態樣式語言. 將CSS賦予了動態語言的特性,如變量,繼承,運算, 函數. LESS 既可以在客戶端上運行 (支持IE 6+, Webkit, Firefox),也可一在服務端運行 (借助 Node.js)。

  為什麽要使用它們?

  結構清晰,便於擴展。

  可以方便地屏蔽瀏覽器私有語法差異。這個不用多說,封裝對瀏覽器語法差異的重復處理,減少無意義的機械勞動。

  可以輕松實現多重繼承。

  完全兼容 CSS 代碼,可以方便地應用到老項目中。LESS 只是在 CSS 語法上做了擴展,所以老的 CSS 代碼也可以與 LESS 代碼一同編譯。

12、什麽是外邊距重疊?重疊的結果是什麽?

  答案:

  外邊距重疊就是margin-collapse。

  在CSS當中,相鄰的兩個盒子(可能是兄弟關系也可能是祖先關系)的外邊距可以結合成一個單獨的外邊距。這種合並外邊距的方式被稱為折疊,並且因而所結合成的外邊距稱為折疊外邊距。

  折疊結果遵循下列計算規則:

  1. 兩個相鄰的外邊距都是正數時,折疊結果是它們兩者之間較大的值。

  2. 兩個相鄰的外邊距都是負數時,折疊結果是兩者絕對值的較大值。

  3. 兩個外邊距一正一負時,折疊結果是兩者的相加的和。

前端面試問題css匯總