大家在修改WordPress主题的时候一定遇到过

这样的代码吧?

在国外CSS编写中,使用em作为单位是很多的,一是人性化考虑,二是受到美国劳工部Section 508法案的强行限制。

在网页设计中,常用到的度量单位一共有三种,分别是px/em/pt

px单位名称为像素,相对长度单位,像素(px)是相对于显示器屏幕分辨率而言的,国内的网站很多都是采用px作为单位的。

em单位名称为相对长度单位。相对于当前对象内文本的字体尺寸。在国外使用的很多。众多先进浏览器【IE除外的基本都是】都支持字体调整。

pt单位名称为点(Point),绝对长度单位,这个很老了,老到胡子都一把了。。基本没有使用的了。。

 

em与px换算

任意浏览器的默认字体高度16px(16像素)。

所有未经调整的浏览器都符合: 1em=16px。

那么12px=0.75em,10px=0.625em。

为了简化font-size的换算,需要在css中的body选择器中声明font-size=62.5%,这就使em值变为 16px*62.5%=10px, 这样12px=1.2em, 10px=1em, 也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了。

 

em单位有如下特点:

1. em的值并不是固定的。

2. em会继承父级元素的字体大小。

我们在写CSS的时候如果要用em为单位,需要注意两点:

1. body选择器中声明Font-size=62.5%;

2. 将你的原来的px数值除以10,然后换上em作为单位;

3. 重新计算那些被放大的字体的em数值。避免字体大小的重复声明。

也就是避免1.2 * 1.2= 1.44的现象。比如说你在#content中声明了字体大小为1.2em,那么在声明的字体大小时就只能是1em,而不是1.2em, 因为此em非彼em,它因继承#content的字体高而变为了1em=12px。

 

大D在这里建议不要使用em作为中文站点的文字单位,会导致文字变形十分严重的。

 

P.S.什么是Section 508

Section 508是美国劳工部将1973年版美国劳工复健法的改进法案,它是一部联邦法律,规定了所有由联邦政府发展、取得、维持或使用的电子和信息技术都必须能让残疾人“可以接近”。

简单的说,这是一部强行提高电子信息技术残疾人用户体验的一个法案。。

在想想一个导盲犬在我天朝都不能很好的被公众认可。。唉。。

版权声明
转载保留版权: 大D技研室 | 《CSS中px单位和em单位的区别》
本文链接地址:https://www.dadclab.com/archives/848.jiecao
转载须知:如果您需要转载本文,请将版权信息,版权授权方式,以及本文的链接地址注明,谢谢合作。
本文被贴上了: , 标签