CSS 中的相对量
CSS 属性的浏览器兼容性,请查询 Can I Use。
已经被标准废弃(Deprecated)的属性,没有列出。
欢迎您与我一同完善这个清单,提供数据的读者姓名将在文中标注。
(通过评论方式提供遗漏的相对量)
视口单位 (viewport)
vh:视口高度的 1/100
vw:视口宽度的 1/100
vmin:视口宽度、高度中最小值的 1/100
vmax:视口宽度、高度中最大值的 1/100
字体单位
em:元素 font-size 的大小,如果在 font-size 属性使用 em,则 em 表示该元素继承下来的 font-size 大小。
rem:根元素 <html> 的font-size 大小。如果 rem 用在根元素的 font-size 上,则 1 rem 表示根元素 font-size 的初始值。
<position>:偏移量的百分比是相对于元素盒的宽度、高度。水平方向(x轴)的百分比相对于元素盒的宽度。竖直方向(y轴)的百分比相对于元素盒的高度。
函数
rgb/rgba:RGB 三个通道,正整数值的取值范围为:0 - 255。百分数值的取值范围为:0.0% - 100.0%。Alpha 通道,a = 0表示透明,a = 1 表示不透明。
hsl/hsla:s 通道表示饱和度,取值范围是 0 - 100%。l 通道表示亮度,取值范围是 0 - 100%。Alpha 通道,a = 0表示透明,a = 1 表示不透明。
百分比(<percentage>, %)
许多长度属性使用百分比,例如
- width、height
- max-height/min-height、max-width/min-width
- margin
- padding
- font-size
- border-width
- text-shadow
- background-size
- background-position
- top、bottom、left、right
- line-height
- text-indent
- vertical-align
注意:只有计算后的属性会被继承。当一个父属性使用百分比时,在继承属性(子属性)上会计算父属性的通过百分比计算后的实际值,不会将百分比继承下来。
“定位”属性
top/bottom:在top属性中,使用 % ,表示相对于_包含块_的高度百分比。可以为负值。
right/left:表示相对于_包含块_的宽度百分比。可以为负值。
“弹性盒模型”属性
flex-basis:百分比指的是 flex 容器的内部主尺寸(inner main size)的百分比。
即,a percentage of the parent flex container main size property
min-height/min-width:初始值为0。
“尺寸”属性
width/max-width/min-width:指的是_包含块_的宽度百分比。如果包含块的宽度依赖本元素宽度,则布局结果未定义。
height/max-height/min-height:指的是元素生成盒(generated box)的_包含块_(containing block)的高度。如果包含块的高度没有显式指定(依赖于内容高度),并且本元素没有绝对定位,则 height 值计算为 auto,max-height 值计算为 none,min-height 值计算为 0。根元素的百分比高度相对于根元素的初始包含块。
“外边距”属性
margin:指的是_包含块_的宽度百分比。可以是负值。
margin-top/margin-bottom:指的是_包含块_的宽度百分比。
margin-left/margin-right:指的是_最近包含块_的宽度百分比。
“内边距”属性
padding:指的是_包含块_的宽度百分比。
padding-top/padding-bottom:指的也是_包含块_的宽度百分比。
padding-left/padding-right:指的也是包含块的宽度百分比。
“边框”属性
border-image:缩写形式,其中的 border-image-slice、border-image-width 有百分比设置。border-image 的详细用法,请参考这里。
border-image-slice:可以制定最多4个值,其中的某个值的百分比指的是相对于图片尺寸的百分比。
border-image-width:指的是边界图像区域(border image area)的尺寸百分比。将要绘制边界图像的整个区域称为边界图像区域。border-image-width属性用于缩放 border-image-slice。

border-radius:指的是圆形半径或椭圆形的长半轴、短半轴。水平方向的轴的百分比值对应边界盒(border box)的宽度。垂直方向的轴的百分比值对应边界盒(border box)的高度。
border-top-left-radius/border-top-right-radius/border-bottom-right-radius/border-bottom-left-radius:圆角水平轴的值对应边界盒的宽度。圆角垂直轴的值对应边界盒的高度。
“背景”属性
background:缩写中的属性值分别对应各自的百分比意义。如 background-position、background-size。
background-position:百分比指的是背景定位区域的尺寸减去背景图片的尺寸。这里的尺寸指的是,水平偏移的宽度或者垂直偏移的高度。
background-size:百分比值相对于背景定位区域。background-size用于确定背景图片的大小。
“字体”
font:缩写,百分比值用于设置 font-size 分量,含义与 font-size 相同。
font-size:百分比值相对于父元素的 font-size 值。
line-height:百分比值相对于元素自身的 font-size 值。
“文本”
text-indent:百分比值相对于元素包围盒(the containing block)的宽度。
word-spacing:百分比值相对于受影响文字(glyph)宽度。
vertical-align:百分比值相对于元素自身的 line-height 属性值。
"用户界面"
zoom:百分比值指的是缩放引子自己。
"2D变换" (实验)
transform:百分比值相对于包围盒(bounding box)尺寸。
transform-origin:百分比值相对于包围盒(bounding box)尺寸。
数字相对量(<number>)
font-size-adjust(CSS3):设置小写x字母的高度。计算方法为指定的 数字值 乘以 font-size。
zoom:数字值指的是缩放引子自己。
整数相对量(<integer>)
border-image-width:指的是元素 border-width 计算值的倍数。
参考资料
- http://acgtofe.com/posts/2014/06/percentage-in-css
- http://www.yuuuuc.me/percentage-in-css/
- https://segmentfault.com/a/1190000006736433
- 所有 CSS 属性取百分比值的意义,https://web.archive.org/web/20150906065047/https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_percentage_values
- 属性分类方法,http://www.w3chtml.com/css3/properties/positioning/
CSS 中的相对量的更多相关文章
- css中的浮动与三种清除浮动的方法
说到浮动之前,先说一下CSS中margin属性的两种特殊现象 1, 外边距的合并现象: 如果两个div上下排序,给上面一个div设置margin-bottom,给下面一个div设置margin-top ...
- 对CSS中的Position、Float属性的一些深入探讨
对CSS中的Position.Float属性的一些深入探讨 对于Position.Float我们在平时使用上可以说是使用频率非常高的两个CSS属性,对于这两个属性的使用上面可能大多数人存在一些模糊与不 ...
- 总结一下CSS中的定位 Position 属性
在CSS中,Position 属性经常会用到,主要是绝对定位和相对定位,简单的使用都没有问题,尤其嵌套起来,就会有些混乱,今记录总结一下,防止久而忘之. CSS position 属性值: absol ...
- 浅析CSS中的BFC和IFC
1. 为什么会有BFC和IFC 首先要先了解两个概念:Box和formatting context: Box:CSS渲染的时候是以Box作为渲染的基本单位.Box的类型由元素的类型和display属性 ...
- CSS中一些常见的兼容性问题
CSS中一些兼容性问题就是浏览器兼容,而这些浏览器兼容问题主要是Ie和FF之间的争斗. CSS hack中的一些事: 我们为了让页面形成统一的效果,要针对不同的浏览器或不同版本写出对应可解析的CSS样 ...
- CSS中清除浮动的两种方式
在CSS中,父元素中的子元素如果使用了float,会导致父元素塌陷,高度为0. 对于这种情况,常见的解决方式有两种. 一.增加新的div,应用clear:both属性 html: <div cl ...
- CSS 中关于background 属性功能
background 是 css中的核心属性,我们对他应该充分了解. background-image 定义背景图像 这个属性是我们用的最多的属性 设置背景图像有两个方式 background: ...
- css中的负边距
css中的负边距(negative margin)是布局中的一个常用技巧,只要运用得合理常常会有意想不到的效果.很多特殊的css布局方法都依赖于负边距,所以掌握它的用法对于前端的同学来说,那是必须的. ...
- CSS中不定宽块状元素的水平居中显示
CSS中不定宽块状元素的水平居中显示 慕课网上的HTML/CSS教程 http://www.imooc.com/view/9 其中有三种方法 第一种是加入table标签 任务是实现div元素的水平居中 ...
随机推荐
- 路由器、交换机学习之IP地址、使用网络掩码划分子网
局域网子网划分 对于C类IP地址来说(192.168.1.X,其中前面的192.168.1为网络号,后面的X为主机号,这样的网络中可以有254台主机,其中.0为局域网地址,.255为广播地址)进行子网 ...
- sql2000数据库误删除后自行恢复二次覆盖成功恢复
sql2000数据库误删除后自行恢复二次覆盖成功恢复 [数据恢复故障描述] 今天接到一个客户电话,他的速达sql2000数据库,数据库误删除了,关键之前还没有备份过.他就想自己尝试恢复,使用网上下载的 ...
- BZOJ1419: Red is good
1419: Red is good Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 639 Solved: 247[Submit][Status][Di ...
- UVa 11495 - Bubbles and Buckets
题目大意:给一个有n个数的序列,通过交换相邻的逆序数使这个序列最终有序,求需要交换的次数. 本来可以用冒泡排序解决,但是n达到105,用冒泡排序会超时,用O(nlogn)的归并排序可以达到要求.< ...
- Twisted源码分析系列01-reactor
转载自:http://www.jianshu.com/p/26ae331b09b0 简介 Twisted是用Python实现的事件驱动的网络框架. 如果想看教程的话,我觉得写得最好的就是Twisted ...
- 【蓝牙数据采集模块】-01-Sensor Controller 功能介绍
一. CC2650芯片内部的结构框图如图,内部包含: 一个Cortex-M3主控制器,用来做整个芯片的功能与任务实现 一个Cortex-M0射频控制器,用来驱动RF相关电路 一个Sensor Cont ...
- Mysql中主从复制的原理、配置过程以及实际案例
Mysql中主从复制的原理.配置过程以及实际案例1.什么是主从复制?原理:主从分离,什么意思呢?我们不妨画个图看看.如图1所示: 2.准备工作:预备两台服务器,我这里使用虚拟机安装了两个Centos6 ...
- 限制EditText的输入字数
private EditText edit_student_name; edit_student_name.addTextChangedListener(changeStudentNameWatche ...
- 纠错输出编码法ECOC
纠错输出编码法(Error-Correcting Output Codes,ECOC)不仅能够将多类分类问题转化为多个两类问题,而且利用纠错输出码本身具有纠错能力的特性,可以提高监督学习算法的预测精度 ...
- jmeter接口测试实践
一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻 ...