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. 重拾python

    前一段碰到几次关于日期计算的题:给出一个日期,计算下一天的日期.虽然不限语言,可是我就C/C++还算熟悉,别的都是刚了解皮毛,根本不会用现成的库啊,无奈啊...只好用c语言一点点实现了,当时真是无比怀 ...

  2. 用anaconda的pip安装第三方python包的日志

    用anaconda的pip安装第三方python包的日志 启动anaconda命令窗口: 开始> 所有程序> anaconda> anaconda prompt 会得到两行提示: D ...

  3. vuejs 子组件传递父组件的第二种方式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. BZOJ3202 [Sdoi2013]项链

    Problem E: [Sdoi2013]项链 Time Limit: 30 Sec  Memory Limit: 512 MBSubmit: 427  Solved: 146[Submit][Sta ...

  5. UVa 11456 - Trainsorting

    题目大意:给一个车辆到达车站的序列(按时间先后),可以对车辆进行以下处理:插在队首.插在队尾或者拒绝进站.车站内的车辆必须按照重量大小从大到小排列,问车站内最多能有多少辆车辆? 假设车i是第一个进站, ...

  6. scrollview嵌套gridview滑动问题

    在开发过程总遇到ScrollView嵌套GridView,由于这两种控件都带有滚动条,当他们碰到一起的时候便会出问题,问题是gridview不滚动,并且只显示两行,为此看了官方文档,谷歌回答滚动里面没 ...

  7. Android项目文件结构

    一.Project项目结构 app/build/ app模块build编译输出的目录 app/build.gradle app模块的gradle编译文件 app/app.iml app模块的配置文件 ...

  8. Delphi中上指定进程(进程名)

    procedure KillProcess(ExeName: string); const PROCESS_TERMINATE = $0001; //进程的PROCESS_TERMINATE访问权限 ...

  9. TortoiseSVN使用简介

    TortoiseSVN使用简介 2009-04-24 来源: dev.idv.tw 1.安装及下载client 端 2.什么是SVN(Subversion)? 3.为甚么要用SVN? 4.怎么样在Wi ...

  10. Spring @Transactional使用的示例

    Spring @Transactional使用的示例: 参考: http://blog.csdn.net/seng3018/article/details/6690527 http://blog.si ...