CSS中常見的長度單位

px - 像素

px 是 CSS 中最經常使用的長度單位,能夠用來指定字體大小,元素的寬度、高度、邊框、內邊距,外邊距的大小等等, 它是一個虛擬長度單位,是計算機系統的數字化圖像長度單位,若是px要換算成物理長度,須要指定精度DPIcss

px 單位的值必須是整數值html

與px相關的一些單位

in - 表示英寸,是一個物理單位,在CSS中被直接映射成爲px; 轉換的方法是 1in = 96px瀏覽器

cm - 表示釐米,在生活中經常使用的單位,一樣被映射爲 px; 轉換方法爲 1cm = 37.8px框架

mm - 表示毫米,與cm相似,轉換方法爲 1mm = 0.1cm = 3.78px字體

em 與 rem

em 單位的值等於基本元素或父元素的字體大小。 code

例如,若是父元素的字體大小爲16px,則全部直接子元素中的1em值將計算爲16px。基於基本單元的知識,能夠很方便的增大或減少子元素的字體大小。 這裏的值不須要是整數。htm

使用em能夠輕鬆地將各類元素的字體大小保持在固定比例。 rem

例如,若是父元素的font-size的值爲50px,則將子元素的字體大小設置爲2em, 至關於設置爲100px。 相似的,將它設置爲0.5em將使得子元素的字體大小爲25px。文檔

另外有一點須要注意:若是想要經過 em 設置當前元素的大小值,而且不是相對於直接父元素,而是相對父元素的父元素或者根元素,就會變得很複雜,由於每一層都要進行計算class

例如:

<div class="parent">
    <div class="child1">
        <div class="child2"></div>
    </div>
</div>
.parent {
    font-size: 20px;
}

.child1 {
    font-size: 1.5em;
}

.child2 {
    font-size: 1.2em;
}

那麼就須要通過計算: child1的字體大小爲 20 x 1.5 = 30px, 而 child2 的字體大小就等於 20 x 1.5 x 1.2 = 36px

rem 也是一個相對單位,與 em 的不一樣點在於rem的長度老是相對於根元素, 而不是像 em 使用級聯的方式來計算尺寸。這種單位使用起來就簡單不少

一樣是上面的例子,不過使用的單位是 rem

<div class="parent">
    <div class="child1">
        <div class="child2"></div>
    </div>
</div>
.parent {
    font-size: 20px;
}

.child1 {
    font-size: 1.5rem;
}

.child2 {
    font-size: 1.2rem;
}

那麼就須要通過計算: child1的字體大小爲 16 x 1.5 = 24px, 而 child2 的字體大小就等於 16 x 1.2 = 19.2px; 這裏爲何是使用 16 來乘而不是 20 呢?這就是由於rem的長度老是相對於根元素, 就是指 html, 而 html文檔中默認字體大小爲 16px, 所以這裏使用 16來計算

可視區相對長度單位

可視區相對長度 基於 視圖窗口或視口(屏幕上的可視區域或者框架)的寬度和高度。

可視區高度單位(vh)和可視區寬度單位(vw)

vh單位與可視區的高度相關。vh的值等於可視區高度的1/100。若是咱們要根據瀏覽器窗口的高度來調整元素,這個單位是有用的。 例如,若是可視區的高度是400px,則1vh等於4px。 若是可視區高度爲800px,則1vh等於8px。

相似的,vw單位與可視區的寬度相關。 所以能夠推算1vw的值。 1vw就等於可視區寬度的1/100。 例如,若是窗口的寬度爲1200px,則1vw將爲12px。

vmin 和 vmax

vmin 是當前 vm 和 vh 中較小的一個值,也就是說,是可視區域較小的一邊的1/100的長度; 例如:可視區大小爲 1000x800, 則 wmin = 800/100 = 8px; 若是可視區大小爲 600x800, 則 wmin = 600/100 = 6px;

相似的, wmax 是當前 vm 和 vh 中較大的一個值,也就是說,是可視區域較大的一邊的1/100的長度; 例如:可視區大小爲 1000x800, 則 wmin = 1000/100 = 10px; 若是可視區大小爲 600x800, 則 wmin = 800/100 = 8px;

百分比表示的長度

以百分比爲單位的長度值是基於具備相同屬性的父元素的長度值。所以會隨着父元素對應的長度值得變化而變化。例如:設置父元素的寬度爲 100px, 設置直接子元素的寬度爲 50%,則子元素的寬度爲 50px;

相關文章
相關標籤/搜索