本文主要介绍在编写网页中可能会用到的字体单位
网页中定义字体时可能会用到的字体单位:px、em、%、rem、pt、vm、vh 等。
1. 字体单位
1.1 px
px是pixel缩写,是基于像素的单位(屏幕上显示数据的最基本的点)。用像素定义的的文字、图片等会随屏幕的分辨率变化而变化。如果在定义字体大小时,使用px作为单位,分辨率调高,实际看到的文字就变“小”。
1.2 em
em是一个相对长度单位,最初是指字母M的宽度,故名em。现指的是字符宽度的倍数,用法类似百分比,如:0.8em,1.2em,2em等。通常1em=16px(一般浏览器默认的字体大小为16px)。
注:当用于指定字体大小时,em单位是指父元素的字体大小
1.3 %
百分与“em”类似,1em=100%。当前的字体大小等于100%,字体大小也是受父类影响。
1.4 rem
rem是CSS3新增的一个相对长度单位,只相对根目录即HTML元素。所以可以在html标签上设置字体大小为标准,文档中的字体大小都会以此为参照。
如:
html{font-size:62.5%; /* 10÷16=62.5% */}body{font-size:12px;font-size:1.2rem ; }p{font-size:14px;font-size:1.4rem;}
兼容性:IE9+,Firefox、Chrome、Safari、Opera 的主流版本都支持,为了兼容不支持 rem 的浏览器,我们需要在 rem 前面写上对应的 px 值,这样不支持的浏览器可以优雅降级。
1.5 pt
PT是point(磅)缩写,是一种固定长度的度量单位,大小为1/72英寸(96dpi)。如果在web上使用pt做单位的文字,字体的大小在不同屏幕下一样(DPI精度一样),但在Word中使用pt相当方便。因为使用Word主要目的都不是为了屏幕浏览,而是输出打印。当打印到实体时,pt作为一个自然长度单位就方便实用了。
pt 相关公式:1in = 2.54cm = 25.4 mm = 72pt = 6pcpx = pt * DPI / 72(一般电脑屏幕的打印精度是96dpi)
注:用在屏幕浏览(屏幕效果)时,pt和px都会随屏幕分辨率的变化而变化。用在打印(打印效果)时,使用pt在不同的屏幕分辨率或不同的DPI精度时显示大小一样,只是DPI精度越高的越清晰。
1.6 vw / vh
vw 相对于视区的宽度:视区宽度是100vw。
vh 相对于视区的高度:视区宽度是100vh。
注:视区”所指为浏览器内部的可视区域大小,即window.innerWidth/window.innerHeight大小,不包含任务栏标题栏以及底部工具栏的浏览器区域大小。部分浏览器可能不支持该度量单位。
1.7 其它字体单位
1.in:英寸;
2.cm:厘米;
3.mm:毫米;
4.pc:pica,大约12pt,1/6英寸;
5.ex:取当前作用效果的字体的x的高度,在无法确定x高度的情况下以0.5em计算(部分浏览器支持,用的较少就不详述了);
6.ch:以节点所使用字体中的“0”(零)字符为基准,找不到时为0.5em(部分浏览器支持,用的较少就不详述了);
2. 字体单位使用建议
1.在网页开发时建议使用px、rem、em字体单位,一般浏览器默认字体大小是16px,可以先让根元素html为10px,如:html{font-size:62.5%;},然后使用em,或rem来设置个标签元素的字体大小;
2.如果是需要打印的文档就需要使用pt来作为字体单位,实际的打印字体清晰度会根据DPI/PPI(打印精度)变化。
3. 相关词汇
3.1 屏幕分辨率
屏幕分辨率是指屏幕显示的分辨率。显示分辨率就是屏幕上显示的像素个数,分辨率160×128的意思是水平方向含有像素数为160个,垂直方向像素数128个。屏幕尺寸一样的情况下,分辨率越高,显示效果就越精细和细腻。
3.2 DPI/PPI pixel(dot)per inch
DPI即每英寸点数,是一个量度单位,用于点阵数码影像,指每一英寸长度中,取样、可显示或输出点的数目。DPI是打印机、鼠标等设备分辨率的度量单位。是衡量打印机打印精度的主要参数之一,一般来说,DPI值越高,表明打印机的打印精度越高。
如果一台打印机的分辨率是4800×1200dpi,那么意味着在X方向(横向)上,两个墨点最近的距离可以达到1/4800英寸;在Y方向(纵向)上,两个墨点的距离可以达到1/1200英寸。
注:PPI类同DPI。
转自:/p/46897a8edfe5