css單位長度
CSS長度單位
單位 |
含義 |
---|---|
em |
相對於父元素的字型大小 |
ex |
相對於小寫字母”x”的高度 |
gd |
一般用在東亞字型排版上,這個與英文並無關係 |
rem |
相對於根元素字型大小 |
vw |
相對於視窗的寬度:視窗寬度是100vw |
vh |
相對於視窗的高度:視窗高度是100vh |
vm |
相對於視窗的寬度或高度,取決於哪個更小 |
ch |
相對於0尺寸 |
px |
相對於螢幕解析度而不是視窗大小:通常為1個點或1/72英寸 |
in |
inch, 表英寸 |
cm |
centimeter, 表釐米 |
mm |
millimeter, 表毫米 |
pt |
1/72英寸 |
pc |
12點活字,或1/12點 |
% |
相對於父元素。正常情況下是通過屬性定義自身或其他元素 |
其中常用的有px、%、em、rem,至於其他的,不常用,之前也沒怎麼深入理解。這裡詳細理解一下以下幾個單位:
這幾個單位都是跟視窗有關,vw為視窗寬度,總寬度為100vw,vh為視窗高度,總高度為100vh,vm為視窗寬高的較小值。
所以,1vw相當於視窗寬度的1%,1vh相當於視窗高度的1%。
“視窗”所指為瀏覽器內部的可視區域大小,即window.innerWidth
* window.innerHeight
的大小。
查了下相容性,總體支援還不錯:
單位 |
含義 |
---|---|
ms |
milliseconds, 毫秒數 |
s |
seconds, 秒數 |
Hz |
Hertz, 赫茲 |
kHz |
kilohertz, 千赫 |
都比較常見。
單位 |
含義 |
---|---|
deg |
degrees, 角度 |
grad |
grads, 百分度 |
rad |
radians, 弧度 |
turn |
turns, 圈數 |
說下turn吧,其實1turn就是360deg,.5turn就是180deg,有的時候寫起來比較方便,不過像45deg這種角度還是不要寫成turn了。
在很早以前,就知道CSS3有一個計算函式calc()
,但一直沒有深入瞭解。今天在別人的部落格上偶然看到了關於calc
的詳細介紹,於是燃起了深入瞭解此特性的想法。
calc
是英文單詞calculate
的縮寫,是css3的一個新增的功能,用來指定元素的長度。比如說,你可以使用calc()
給元素的border、margin、pading、font-size和width等屬性設定動態值。為何說是動態值呢?因為我們使用的表示式來得到的值。不過calc()最大的好處就是用在流體佈局上,可以通過calc()計算得到元素的寬高。
calc()
使用通用的數學運算規則,但是也提供更智慧的功能:
-
使用“+”、“-”、“*” 和 “/”四則運算;
-
可以使用%、px、em、rem等單位;
-
可以混合使用各種單位進行計算;
-
表示式中有“+”和“-”時,其前後必須要有空格,如”widht: calc(12%+5em)”這種沒有空格的寫法是錯誤的;
-
表示式中有“*”和“/”時,其前後可以沒有空格,但建議留有空格。
使用起來其實很簡單,比如:
.box { width: calc(50% + 2em); height: calc(100% - 2em); background-color: #f00; }
查詢結果來自: https://caniuse.com/#search=calc