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元素的水平居中 ...
随机推荐
- el5,6,7的ntpdate服务
在el5里没有ntpdate服务 在el6里有ntpdate服务 在el7里有ntpdate服务
- DWR3.0框架入门(1) —— 实现ajax
框架简介:DWR(Direct Web Remoting) 是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏 ...
- IOS开发-UI学习-UIWebView,简单浏览器的制作
制作一个简单的浏览器,包含网址输入框,Search按钮,前进.回退按钮,UIWebView就这几个简单的控件. UITextField:用来输入网址: UIbuttom:实现前进,后退,搜索等功能: ...
- [Angular Tutorial] 13 -REST and Custom Services
在这一步中,我们将会改变我们获取数据的方式. ·我们定义一个代表RESTful客户端的自定义服务.使用这个客户端,我们可以用一种更简单的方法向服务端请求数据,而不用处理更底层的$httpAPI,HTT ...
- MongoDB的$type操作符
字段类型定义: db.col.find({"title" : {$type : 2}})
- PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
CSV大文件的读取已经在前面讲述过了(PHP按行读取.处理较大CSV文件的代码实例),但是如何快速完整的操作大文件仍然还存在一些问题. 1.如何快速获取CSV大文件的总行数? 办法一:直接获取文件内容 ...
- 【转】java调用存储过程和函数
一.概述 如果想要执行存储过程,我们应该使用 CallableStatement 接口. CallableStatement 接口继承自PreparedStatement 接口.所以CallableS ...
- 网上搜集的一段php可逆加密函数
php加密函数: function my_encrypt($data, $key='unun.in') { $char = $str = ''; $key = md5($key); $x = 0; $ ...
- 用控制台命令拉取git最新仓库代码
C#利用Diagnostics 拉取最新代码 示例代码 static void DiagnosticTest() { Process p; ProcessStartInfo psi; psi = ...
- 如何使excel表格的内容自动添加前缀
一.假设是要在一列的单元格内容前加上固定的内容,则 方法一在原单元格实现,分两种情况 如果原单元格的内容是数字内容,要在原数字前添加"ABC"这样的前缀则选中这些单元格----右键 ...