1. 程式人生 > >css單位長度

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、vh、vm

這幾個單位都是跟視窗有關,vw為視窗寬度,總寬度為100vw,vh為視窗高度,總高度為100vh,vm為視窗寬高的較小值。

所以,1vw相當於視窗寬度的1%,1vh相當於視窗高度的1%。

何為視窗?

“視窗”所指為瀏覽器內部的可視區域大小,即window.innerWidth * window.innerHeight的大小。

相容性

查了下相容性,總體支援還不錯:

img

CSS時間頻率單位

單位

含義

ms

milliseconds, 毫秒數

s

seconds, 秒數

Hz

Hertz, 赫茲

kHz

kilohertz, 千赫

都比較常見。

CSS角度單位

單位

含義

deg

degrees, 角度

grad

grads, 百分度

rad

radians, 弧度

turn

turns, 圈數

說下turn吧,其實1turn就是360deg,.5turn就是180deg,有的時候寫起來比較方便,不過像45deg這種角度還是不要寫成turn了。

calc

在很早以前,就知道CSS3有一個計算函式calc(),但一直沒有深入瞭解。今天在別人的部落格上偶然看到了關於calc的詳細介紹,於是燃起了深入瞭解此特性的想法。

什麼是Calc

calc是英文單詞calculate的縮寫,是css3的一個新增的功能,用來指定元素的長度。比如說,你可以使用calc()給元素的border、margin、pading、font-size和width等屬性設定動態值。為何說是動態值呢?因為我們使用的表示式來得到的值。不過calc()最大的好處就是用在流體佈局上,可以通過calc()計算得到元素的寬高。

如何使用

calc()使用通用的數學運算規則,但是也提供更智慧的功能:

  1. 使用“+”、“-”、“*” 和 “/”四則運算;

  2. 可以使用%、px、em、rem等單位;

  3. 可以混合使用各種單位進行計算;

  4. 表示式中有“+”和“-”時,其前後必須要有空格,如”widht: calc(12%+5em)”這種沒有空格的寫法是錯誤的;

  5. 表示式中有“*”和“/”時,其前後可以沒有空格,但建議留有空格。

使用起來其實很簡單,比如:

.box { width: calc(50% + 2em); height: calc(100% - 2em); background-color: #f00; }

相容性

查詢結果來自: https://caniuse.com/#search=calc

img