三种常见设置字体的单位比较

原创 2016年08月30日 15:53:45

在页面中设置字体,我们知道有常见的px emrem.

px

Web页面制作中,我们一般使用“px”来设置我们的文本,因为他比较稳定和精确。但是这种方法存在一个问题,当用户在浏览器中浏览我们制作的Web页面时,他改变了浏览器的字体大小(虽然一般人不会去改变浏览器字体大小),这时会使用我们的Web页面布局被打破,这时就提出了使用“em”来定义Web页面的字体。

PX特点

1. IE无法调整那些使用px作为单位的字体大小;

2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位;

3. Firefox能够调整px和em,rem,但是96%以上的中国网民使用IE浏览器(或内核)。

px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。(引自CSS2.0手册)

em

一般都是bodyfont-size为基准
常用写法:

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

body {

    font-size: 62.5%;

    /*10 ÷ 16 × 100% = 62.5%*/

}

h1 {

    font-size: 2.4em;

    /*2.4em × 10 = 24px */

}

p {

    font-size: 1.4em;

    /*1.4em × 10 = 14px */

}

li {

    font-size: 1.4em;

    /*1.4 × ? = 14px ? */

}

为什么“li”的“1.4em”是不是“14px”将是一个问号呢?在使用“em”作单位时,一定需要知道其父元素的设置,因为“em”就是一个相对值,而且是一个相对于父元素的值,
计算公式:1 ÷ 父元素的font-size × 需要转换的像素值 = em值
这样的情况下“1.4em”可以是“14px”,也可以是“20px”,或者说是“24px”,总之是一个不确定值,那么解决这样的问题,要么你知道其父元素的值,要么呢在任何子元素中都使用“1em”。

EM特点 

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

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

所以我们在写CSS的时候,需要注意两点:

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

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

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

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

em是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。(引自CSS2.0手册)

       任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合: 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作为单位就行了。

 

Rem

em(font size of the root element)是指相对于根元素的字体大小的单位。简单的说它就是一个相对单位。看到rem大家一定会想起em单位,em(font size of the element)是指相对于父元素的字体大小的单位。它们之间其实很相似,只不过一个计算的规则是依赖根元素一个是依赖父元素计算。

rem这是个低调的css单位,近一两年开始崭露头角,有许多同学对rem的评价不一,有的在尝试使用,有的在使用过程中遇到坑就弃用了。但是我对rem综合评价是用来做web app它绝对是最合适的人选之一。


rem特点 

 

        rem是CSS3新增的一个相对单位(root em,根em),这个单位引起了广泛关注。这个单位与em有什么区别呢?区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。目前,除了IE8及更早版本外,所有浏览器均已支持rem。对于不支持它的浏览器,应对方法也很简单,就是多写一个绝对单位的声明。这些浏览器会忽略用rem设定的字体大小。下面就是一个例子:

p {font-size:14px; font-size:.875rem;}

 

rem

rem:W3C官网描述是“font size of the root element”,即rem是相对于根元素。
我们只需要在根元素确定一个参考值,在根元素中设置多大的字体,这完全可以根据您自己的需,大家也可以参考下图:

嫌换算麻烦的同学,也可以去http://pxtoem.com/这个网站去设置
常用写法:

01

02

03

04

05

06

07

08

09

10

11

12

html {

    font-size: 62.5%;

    /*10 ÷ 16 × 100% = 62.5%*/

}

body {

    font-size: 1.4rem;

    /*1.4 × 10px = 14px */

}

h1 {

    font-size: 2.4rem;

    /*2.4 × 10px = 24px*/

}

在根元素中定义了一个基本字体大小为62.5%(也就是10px。设置这个值主要方便计算,如果没有设置,将是以“16px”为基准 )。从上面的计算结果,我们使用“rem”就像使用“px”一样的方便,而且同时解决了“px”和“em”两者不同之处。
注:在Chrome下,默认最下字体为12px,可以设置font-size: 625%,其他以此类推

浏览器兼容性

IE9以上等支持CSS3的浏览器是肯定可以支持的,如果想要兼容IE低版本,那可以考虑针对IE9以下低版本浏览器,用px来实现。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

Html 字体大小单位 px em pt

转自:http://www.cnblogs.com/dolphinX/p/3237054.html px px是pixel缩写,是基于像素的单位.在浏览网页过程中,...
  • u012252959
  • u012252959
  • 2016年01月09日 11:02
  • 681

移动h5 图片字体等适配

背景 开发移动端H5页面面对不同分辨率的手机面对不同屏幕尺寸的手机 视觉稿 在前端开发之前,视觉MM会给我们一个psd文件,称之为视觉稿。 对于移动端开发而言,为了做到页面...
  • fhb19870610
  • fhb19870610
  • 2015年10月08日 21:58
  • 4167

移动端布局字体单位的选择之px、rem和em揭秘

一般我们在pc上主要是流动式布局,采用的单位一般都是px,由于pc屏幕都是很大的,所以不用过多的担心字体单位的选择,但是在移动端呢?那么这完全相反,由于手机屏幕较小,且各种屏幕尺寸你一不小心你布局的样...
  • YeShenLiaoSuiFeng
  • YeShenLiaoSuiFeng
  • 2017年08月16日 23:52
  • 462

移动端h5不支持font-family里面的微软雅黑等等字体

首先我们来理解一下pc端为什么可以看到网站上设置的微软雅黑字体:微软在2006年12月发布微软雅黑随简体中文版Windows Vista一起发布,是Windows Vista默认字体。意思就是wind...
  • a419419
  • a419419
  • 2017年12月26日 18:00
  • 307

网页设计中常用字体

1.网页设计中的英文字体,一般有以下五类: serif(衬线) sans-serif(无衬线) monospace(等宽) fantasy(梦幻) cuisive(花体) 网页设计...
  • NotBad_
  • NotBad_
  • 2016年10月24日 16:03
  • 1259

css电脑常用字体

CSS,font-family,好看常用的中文字体 2014-10-14 例1(小米米官网):font-family: "Arial","Microsoft YaHei","黑体"...
  • NotBad_
  • NotBad_
  • 2016年11月16日 09:17
  • 674

关于移动端web字体

关于移动端web字体 摘要 在Web编码中,CSS默认应用的Web字体是有限的,网页一般都是先有设计稿,然后转为DIV+CSS代码,这其中就会出现很大的差异,例如在移动端的网站展示字体...
  • u010231712
  • u010231712
  • 2016年02月24日 09:54
  • 971

rem、px、em(手机端h5页面屏幕适配的几种方法)

px px像素(pixel):相对长度单位。相对于显示器屏幕分辨率而言。pc端使用px倒也无所谓,可是在移动端,因为手机分辨率种类颇多,不可能一个个去适配,这时px就显得非常无力,所以就要考虑em和r...
  • github_36758028
  • github_36758028
  • 2016年12月06日 11:30
  • 17436

常见字体介绍

如题,最近发现手机字体是个大学问,头一次发现原来字体里头差别这么大。 首先常见中文字体,宋体,黑体,仿宋,楷体,行楷,等等。其中各种字体大致区别 字号,点制和号制,打印时一点为0.35mm,号制为...
  • me4weizhen
  • me4weizhen
  • 2017年03月15日 21:49
  • 523

网页设计中常用的20个Web安全字体

1,  Arial 微软公司的网页核心字体之一,最常用的sans serif字体,当字号很小时不容易阅读。但是,大写的“I”和小写的“l”是无法区别的,你可以考虑用Tahoma字体来替代。 (苹...
  • bboyjoe
  • bboyjoe
  • 2015年11月26日 16:31
  • 850
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:三种常见设置字体的单位比较
举报原因:
原因补充:

(最多只允许输入30个字)