数值单位和数值

一、长度单位

1.1 绝对单位 absolute units

1.1.1 px pixel

像素是一个绝对单位,这里,有些可能要说,不是说px是相对单位吗?其实这点并不准确。因为不管如何设置,像素单位在设备确定之后总是不变的。
在Retina大行其道的今天,物理像素和逻辑像素产生了相对冲突,导致1px所需要的物理像素更多。但是显示的1px像素大小并没有实际变化。由此引出像素比率dpr (device pixel ratio),浏览器可以通过window.devicePixelRatio可以获取到当前浏览器的设备像素比率

公式 单位面积 设计稿
1px=1dp 1px*1px=1dp*1dp 1:1
1px=2dp 1px*1px=2dp*2dp 1:2

做屏幕适配时,总是会遇到这些内容

1.1.2 其他单位

in 英寸 ,cm 厘米,mm 毫米,pt磅 pc 点
这些单位不是常用单位,也很少出现在css的布局中

二、 相对单位

2.1 em

em是相对于当前元素的font-size属性的单位值,当font-size设置为 12px时,1em = 12px
但是font-size是一个可继承的属性,所以,当你没有设置值时,会从父级继承该属性的值。这一点相当重要。

2.2 rem

rem相比em的好处就是,所有相对单位rem是以root元素也就是html标签的font-size为基准,因此有了同一的度量单位,就不再担心继承上影响了实际所需要的大小。当html的font-size设置为15时,1rem=15px

2.3 vw vh

这个相对单位时相对于屏幕设备的 vw就是view width简写,vh 就是view height简写。
该单位是将屏幕等分为100分,1vw = \frac{viewWidth}{100}1vh=\frac{viewHeight}{100}

2.4 vmin vmax

vmin 取当前视窗最小的边,然后等分100份。
vmax 取当前视窗最大的边,然后等分100份。

2.5 fr (fraction)

这个单位伴随着 grid布局而出现。其代表的是grid布局的剩余空间。 如果设置为1fr,表示需要1份空间。至于这个1份有多大,其实和flex布局时,子元素设置flex是类似的。当flex布局时,还剩余空间,就会按照设置好的比例增长。这里的1fr也是。如果剩余空间,就会按照fr给定的指数增长 ,如果剩余不足,也只会按照指定的部分缩减,整体上还是保持不变的。

2.6 ch

又是一个非常神奇的单位,这个单位代表可容纳0字符的宽度的“先进的尺寸”。也是我第一次看到以数字作为长度单位。

2.7 ex

我们可能直到em,但是未必知道ex,在css1的时候就已经被采纳了。ex是一个相对单位的相对单位,代表二分之一个em的长度单位。这个单位通常用在字体的上标或者下标。很容易的设定字体大小为当前字体的一半。

三、 无单位值

3.1 固定倍数 0

0有时候可以作为任意数值单位的值,比如width:0padding:0 但是你不可以写 width:1,padding:1 之所以是因为这里的0实际上是一个倍数的乘法因子,任何数 × 0 = 0,所以可以计算得到准确数值,而其他数则不可以,任何数 × n(非0) = n 倍任何数,但是又不能准确的描述任何数,因此在渲染解析时,不确定的因素都会被舍弃。

3.2 相关联倍数

比如line-height 属性,这个属性关联font-size,当设定为无单位数值时,表示这个属性值时font-size值的倍数关系。 假设当前元素的font-size:15px 则 line-height:1 解析后得到 line-height:15px

3.3 计数

animation-iteration-count: 5 表示计数器执行5次

四、 角度单位

四个单位的换算关系 90deg = 100grad = 0.25turn = \frac{π}{4} rad

4.1 deg度

通常在旋转中使用 transform: rotate( 2deg );

4.2 grad 梯度

通常在旋转中使用 transform: rotate( 2grad );

4.3 rad 弧度

通常在旋转中使用 transform: rotate( 2rad );

4.4 turn 圈

通常在旋转中使用 transform: rotate( 2turn );

五、百分比 %

百分比也是一个倍数关系,从父级相同属性上换算的值
假设当前父级的 width: 100px ,子级的 width:15%, 换算得到子级 width:15px

六、颜色

6.1 关键词

在色彩中又很多关键词数值,是由系统预设的,最终会被换算成十六进制的数值,比如
red = #ff0000 green = #00ff00 blue =#0000ff

6.2 十六进制

从 #000000到 #ffffff ,每一个十六进制表示一种色彩

6.2 RGB 红绿蓝色彩通道

使用 rgb()函数可以创建 rgb(0,0,0)到rgb(255,255,255)的色彩

6.3 HSL 色彩,饱和度,明亮度

使用hsl()函数可以创建基于 hsl(0,0,0)到 hsl(360,100,100)的色彩,在低版本IE中可能不受支持

6.4 alpha 透明度

alpha是一个从0-1的浮点数,0表示不透明,1表示全透明
现代浏览器中,支持透明度无疑是一个非常有用的内容,使用rgba()或者hsla()创建基于alpha通道的色彩,支持 rgba(0,0,0,0)到

 所有的涉及到颜色属性的颜色值都会有一个变量名 'currentColor',这个名称代表继承元素的'color'的属性值。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容