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/hslas 通道表示饱和度,取值范围是 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 计算值的倍数。

参考资料

  1. http://acgtofe.com/posts/2014/06/percentage-in-css
  2. http://www.yuuuuc.me/percentage-in-css/
  3. https://segmentfault.com/a/1190000006736433
  4. 所有 CSS 属性取百分比值的意义,https://web.archive.org/web/20150906065047/https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_percentage_values
  5. 属性分类方法,http://www.w3chtml.com/css3/properties/positioning/

CSS 中的相对量的更多相关文章

  1. css中的浮动与三种清除浮动的方法

    说到浮动之前,先说一下CSS中margin属性的两种特殊现象 1, 外边距的合并现象: 如果两个div上下排序,给上面一个div设置margin-bottom,给下面一个div设置margin-top ...

  2. 对CSS中的Position、Float属性的一些深入探讨

    对CSS中的Position.Float属性的一些深入探讨 对于Position.Float我们在平时使用上可以说是使用频率非常高的两个CSS属性,对于这两个属性的使用上面可能大多数人存在一些模糊与不 ...

  3. 总结一下CSS中的定位 Position 属性

    在CSS中,Position 属性经常会用到,主要是绝对定位和相对定位,简单的使用都没有问题,尤其嵌套起来,就会有些混乱,今记录总结一下,防止久而忘之. CSS position 属性值: absol ...

  4. 浅析CSS中的BFC和IFC

    1. 为什么会有BFC和IFC 首先要先了解两个概念:Box和formatting context: Box:CSS渲染的时候是以Box作为渲染的基本单位.Box的类型由元素的类型和display属性 ...

  5. CSS中一些常见的兼容性问题

    CSS中一些兼容性问题就是浏览器兼容,而这些浏览器兼容问题主要是Ie和FF之间的争斗. CSS hack中的一些事: 我们为了让页面形成统一的效果,要针对不同的浏览器或不同版本写出对应可解析的CSS样 ...

  6. CSS中清除浮动的两种方式

    在CSS中,父元素中的子元素如果使用了float,会导致父元素塌陷,高度为0. 对于这种情况,常见的解决方式有两种. 一.增加新的div,应用clear:both属性 html: <div cl ...

  7. CSS 中关于background 属性功能

    background 是 css中的核心属性,我们对他应该充分了解. background-image   定义背景图像  这个属性是我们用的最多的属性 设置背景图像有两个方式 background: ...

  8. css中的负边距

    css中的负边距(negative margin)是布局中的一个常用技巧,只要运用得合理常常会有意想不到的效果.很多特殊的css布局方法都依赖于负边距,所以掌握它的用法对于前端的同学来说,那是必须的. ...

  9. CSS中不定宽块状元素的水平居中显示

    CSS中不定宽块状元素的水平居中显示 慕课网上的HTML/CSS教程 http://www.imooc.com/view/9 其中有三种方法 第一种是加入table标签 任务是实现div元素的水平居中 ...

随机推荐

  1. el5,6,7的ntpdate服务

    在el5里没有ntpdate服务 在el6里有ntpdate服务 在el7里有ntpdate服务

  2. DWR3.0框架入门(1) —— 实现ajax

    框架简介:DWR(Direct Web Remoting)      是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏 ...

  3. IOS开发-UI学习-UIWebView,简单浏览器的制作

    制作一个简单的浏览器,包含网址输入框,Search按钮,前进.回退按钮,UIWebView就这几个简单的控件. UITextField:用来输入网址: UIbuttom:实现前进,后退,搜索等功能: ...

  4. [Angular Tutorial] 13 -REST and Custom Services

    在这一步中,我们将会改变我们获取数据的方式. ·我们定义一个代表RESTful客户端的自定义服务.使用这个客户端,我们可以用一种更简单的方法向服务端请求数据,而不用处理更底层的$httpAPI,HTT ...

  5. MongoDB的$type操作符

    字段类型定义: db.col.find({"title" : {$type : 2}})

  6. PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)

    CSV大文件的读取已经在前面讲述过了(PHP按行读取.处理较大CSV文件的代码实例),但是如何快速完整的操作大文件仍然还存在一些问题. 1.如何快速获取CSV大文件的总行数? 办法一:直接获取文件内容 ...

  7. 【转】java调用存储过程和函数

    一.概述 如果想要执行存储过程,我们应该使用 CallableStatement 接口. CallableStatement 接口继承自PreparedStatement 接口.所以CallableS ...

  8. 网上搜集的一段php可逆加密函数

    php加密函数: function my_encrypt($data, $key='unun.in') { $char = $str = ''; $key = md5($key); $x = 0; $ ...

  9. 用控制台命令拉取git最新仓库代码

    C#利用Diagnostics  拉取最新代码  示例代码 static void DiagnosticTest() { Process p; ProcessStartInfo psi; psi = ...

  10. 如何使excel表格的内容自动添加前缀

    一.假设是要在一列的单元格内容前加上固定的内容,则 方法一在原单元格实现,分两种情况 如果原单元格的内容是数字内容,要在原数字前添加"ABC"这样的前缀则选中这些单元格----右键 ...