rem vh vw vmin vmax ex ch

rem

我们首先介绍下和我们熟悉的很相似的货。em 被定义为相对于当前对象内文本的字体大小。如果你给body小哥设置了font-size字体大小,那么body小哥的任何子元素的1em就是等于body设置的font-size。

  body {

    font-size: 14px;

}

div {

    font-size: 1.2em; // calculated at 14px * 1.2, or 16.8px

你看,这里div的字体大小是1.2em。解释来说,就是他从body那里继承的字体大小(这里是14px)的1.2倍,结果就是16.8px。

但是,如果你用em一层一层级联得定义嵌套元素的字体大小又会花生什么事情呢?在下面这一小段代码里我们应用了和上面一样一样的CSS,每一个div都从它上一级父元素继承了字体大小,并且逐渐得增加。

例子
虽然在某些地方这正是我们想要的,但是通常情况下我们还是希望就依赖单一的相对度量单位就好。这时候嘛,我们就可以使用

rem 了。‘r’是“root”的缩写,意思就是1rem等于根元素的字体大小;大部分情况下,根元素就是元素了。

html {

    font-size: 14px;

}

div {

    font-size: 1.2rem;

}

这样在上面的那三个嵌套的div的字体大小都是 1.2*14px = 16.8px 了。

适用于网格布局

Rems 不仅仅只是在设置字体大小上很方便。你可以用基于html根元素字体大小的rem作为整个网格布局或者UI库的大小单位,然后在其他特定的地方用em单位。这样将会给你带来更多的字体大小和伸缩的可控性,

.container {

    width: 70rem; // 70 * 14px = 980px

}

vh and vw

响应式web设计离不开百分比。但是,CSS百分比并不是所有的问题的最佳解决方案。CSS的宽度是相对于包含它的最近的父元素的宽度的。但是如果你就想用视口(viewpoint)的宽度或者高度,而不是父元素的,那该肿么办? 这就是 vh 和 vw 单位为我们提供的。

1vh 等于1/100的视口高度。栗子:浏览器高度900px, 1 vh = 900px/100 = 9 px。同理,如果视口宽度未750, 1vw = 750px/100 = 7.5 px。

可以想象到的,他们有很多很多的用途。比如,我们用很简单的方法只用一行CSS代码就实现同屏幕等高的框。

.slide {

    height: 100vh;

}

假设你要来一个和屏幕同宽的标题,你只要设置这个标题的font-size的单位为vw,那标题的字体大小就会自动根据浏览器的宽度进行缩放,以达到字体和viewport大小同步的效果,有木有?!

vmin and vmax

vh和 vm 依据于视口的高度和宽度,相对的,vmin 和 vmax则关于视口高度和宽度两者的最小或者最大值。比如,浏览器的宽度设置为1100px,高度设置为700px, 1vmin = 1px, 1vmax = 11px。如果宽度设置为800px,高度设置为1080px, 1vmin就等于8px, 1vmax则未10.8px。

那么问题来了,我们应该在什么场景下使用这两个单位呢?
假设有一个元素,你需要让它始终在屏幕上可见。只要对其高度和宽度使用vmin单位,并赋予其低于100的值就可以做到了。再来个栗子,可以这样定义一个至少有两个边触摸到屏幕的方形:

.box {

    height: 100vmin;

    width: 100vmin;

}

如果你要让这个方形框框始终铺满整个视口的可见区域(四边始终触摸到屏幕的四边)

.box {

    height: 100vmax;

    width: 100vmax;

}

结合使用这些单位可以为我们提供一个新颖有意思的方式来灵活地利用我们视口的大小。

ex and ch

ex 和 ch 单位,类似于 em 和 rem, 依赖于当前的字体和字体大小。 但是,不同的是,这两货是基于字体的度量单位,依赖于设定的字体。

ch 单位通常被定义为数字0的宽度。你可以在Eric Meyers的博客里找到关于它的一些有意思的讨论,例如将一个等宽字体的字母”N”的宽度设置为40ch,那么在另一种类型的字体里它却可以包含40个字母。这个单位的传统用途主要是盲文的排版,但是除此之外,肯定还有可以应用他的地方。

ex 定义为当前字体的小写x字母的高度或者 1/2 的 1em。 很多时候,它是字体的中间标志。

x-height; the height of the lower case x

这些单位有很多用途,大部分用于版式的微调。比方说,sup 元素(上角文字标),可以通过position:relative;bottom:
1ex;
实现 。类似的方法,你可以实现一个下角文字标。浏览器默认的方式是利用
上标和下标特定垂直对齐规则,但是如果你想更细粒度更精确得控制,你可以像下面这样做:

sup {

    position: relative;

    bottom: 1ex;

}

sub {

    position: relative;

    bottom: -1ex;

}

原文地址:http://blog.sina.com.cn/s/blog_4c1e6a010102v6jp.html

时间: 2024-10-19 11:50:40

rem vh vw vmin vmax ex ch的相关文章

7个你可能不认识的CSS单位:rem vh vw vmin vmax ex ch

今儿,我就准备向大伙儿介绍一些你们之前可能很少见过CSS家伙们.他们每个都是度量的单位,类似pixel 和 em 这样的,但是很有可能你之前从来就没听过这些家伙们! rem 我们首先介绍下和我们熟悉的很相似的货.em 被定义为相对于当前对象内文本的字体大小.炒个栗子,如果你给body小哥设置了font-size字体大小,那么body小哥的任何子元素的1em就是等于body设置的font-size. 1 2 3      class="test">Test 1 2 3 4 5 6

px,em,rem,vh,vw,vmin,vmax的区别

css手册中关于font-size是这么介绍的: font-size 值可以是绝对或相对值. 绝对值: 将文本设置为指定的大小 不允许用户在所有浏览器中改变文本大小(不利于可用性) 绝对大小在确定了输出的物理尺寸时很有用 相对大小: 相对于周围的元素来设置大小 允许用户在浏览器改变文本大小 注意:如果您没有规定字体大小,普通文本(比如段落)的默认大小是 16 像素 (16px=1em). 1.px:为像素单位.它是显示屏上显示的每一个小点,为显示的最小单位.它是一个绝对尺寸单位: 2.em:相对

css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况

px:绝对单位,页面按精确像素展示 em:相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值. rem:相对单位,可理解为"root em", 相对根节点html的字体大小来计算,CSS3新加属性,chrome/firefox/IE9+支持. (另外需注意chrome强制最小字体为12号,即使设置成 10px 最终都会显示成 12px,当把html的font-size设置成10px,子节点rem

CSS3中的px,em,rem,vh,vw辨析

1.px:像素,精确显示 2.em:继承父类字体的大小,相当于"倍",如:浏览器默认字体大小为16px=1em,始终按照div继承来的字体大小显示,进场用于移动端 em换算工具:http://www.runoob.com/tags/ref-pxtoemconversion.html 3.rem:与em类似,rem是继承根节点的属性(即<html>标签),其他的与em相同 4.vh:当前可见高度的1%=1vh 区别是:当div中没有内容时,height=100%,则高度不显示

css3新单位vw、vh、vmin、vmax的使用介绍

1,vw.vh.vmin.vmax 的含义 (1)vw.vh.vmin.vmax 是一种视窗单位,也是相对单位.它相对的不是父节点或者页面的根节点.而是由视窗(Viewport)大小来决定的,单位 1,代表类似于 1%. 视窗(Viewport)是你的浏览器实际显示内容的区域-,换句话说是你的不包括工具栏和按钮的网页浏览器. (2)具体描述如下: vw:视窗宽度的百分比(1vw 代表视窗的宽度为 1% vh:视窗高度的百分比 vmin:当前 vw 和 vh 中较小的一个值 vmax:当前 vw 

vw、vh、vmin、vmax 的含义

像 px.em 这样的长度单位大家肯定都很熟悉,前者为绝对单位,后者为相对单位.CSS3 又引入了新单位:vw.vh.vmin.vmax.下面对它们做个详细介绍. 一.基本说明 1,vw.vh.vmin.vmax 的含义 (1)vw.vh.vmin.vmax 是一种视窗单位,也是相对单位.它相对的不是父节点或者页面的根节点.而是由视窗(Viewport)大小来决定的,单位 1,代表类似于 1%. 视窗(Viewport)是你的浏览器实际显示内容的区域-,换句话说是你的不包括工具栏和按钮的网页浏览

rem和em和px vh vw和% 移动端长度单位

1.rem和em.px 首先来说说em和px的关系 em是指字体高度 浏览器默认1em=16px,所以0.75em=12px;我们经常会在页面上看到根元素写的font-size:65%; 这样em就成了16px*62.5=10em;这是显示在页面的字体大小是10px; 这样12px=1.2em,10px=1em,也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了, em的特点 em是个相对值 他会根据父级元素的大小而变化 但是如果嵌套了多个元素 要计算它的大小,是件很头疼的事

前端开发入门到实战:通过 rem 和 vw 实现页面等比例缩放自适应

一.rem 和 vw 简介 1. rem rem?是相对长度单位,是指相对于根元素(即html元素)font-size(字号大小)的倍数. 浏览器支持:Caniuse 示例 若根元素?font-size?为 12px html { font-size: 12px; } h1 { font-size: 2rem; /* 2 × 12px = 24px */ } p { font-size: 1.5rem; /* 1.5 × 12px = 18px */ } div { width: 10rem;

css3单位:px,em,rem,vh…

小伙伴们,你们听说过多少?我们在前端切图项目中用到的有px,em,rem,vh,% 其他基本没用到过了.特别是vh ,特别好用. 附所有css单位,应该是最全的了 px:绝对单位,页面按精确像素展示 em:相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值. rem:相对单位,可理解为"root em", 相对根节点html的字体大小来计算,CSS3新加属性,chrome/firefox/IE9