深入學習CSS屬性中的百分比

快樂動起來發表於2017-07-31

面試題:css中的單位都有哪些?可以取百分數的單位有哪些?這些百分比是如何計算的?

css中的單位

  • 絕對單位
    in-英寸;cm;mm;pt-磅;pc-pica
  • 相對單位
    em-與元素字號掛鉤;ex-與元素字型的“x高度”掛鉤;rem-與根元素字號掛鉤;px-與CSS畫素掛鉤;%-另一屬性值的百分比

css中可以取百分比的屬性

  • 定位:top,right,bottom,left;
  • 盒模型:width,height,margin,padding;
  • 背景:backgroud-position,background-size;
  • 文字:text-indent;
  • 字型:font-size;

百分比是如何計算的

百分比的計算是相對一個基數的,這個基數與當前元素的包含塊有關。具體如下:

  • 基於包含塊的寬度來計算的屬性:margin,padding,width,max-width,min-width,left,right,text-indent.
  • 基於包含塊的高度來計算的屬性:top,bottom,height,max-height,min-height
  • 基於當前字型大小來計算的屬性:line-height
  • 基於line-height來計算的屬性:vertical-align
  • 基於元素本身的寬高:background-position:背景影像的位置,分別設定水平方向和垂直方向上的兩個值,如果使用百分比,那麼百分比值會同時應用於元素和影像。例如 50% 50% 會把圖片的(50%, 50%)這一點與框的(50%, 50%)處對齊,相當於設定了 center center。同理 0% 0% 相當於 left top,100% 100% 相當於 right bottom
  • 基於元素本身的寬度:background-size但此值只能應用在塊元素上,所設定百分值將使用背景圖片大小根據所在元素的寬度的百分比來計算

相關文章