学习CSS懂得单位em和px的差别(转)
这里引用的是Jorux的“95%的中国网站需要重写CSS”的文章,标题有点吓人,但是确实是现在国内网页制作方面的一些缺点。我一直也搞不明白
px与em之间的关系和特点,看过以后确实收获很大。平时都是用px来定义字体,所以无法用浏览器字体放大的功效,而国外大多数网站都可以在IE下应用。
由于
1. IE无法调剂那些应用px作为单位的字体大小;
2. 国外的大部分网站能够调剂的原因在于其应用了em作为字体单位;
3. Firefox能够调剂px和em,但是96%以上的中国网民应用IE浏览器(或内核)。
px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。(引自CSS2.0手册)
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作为单位就行了。
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。
但是12px汉字例外,就是由以上方法得到的12px(1.2em)大小的汉字在IE中并不即是直接用12px定义的字体大小,而是稍大一点。这个
标题
Jorux已经解决,只需在body选择器中把62.5%换成63%就能正常显示了。原因可能是IE处理汉字时,对于浮点的取值准确度有限。不知道有没有
其他的说明。
分享到:
相关推荐
我一直也搞不清楚px与em之间的关系和特点,看过以后确实收获很大。平时都是用px来定义字体,所以无法用浏览器字体放大的功能,而国外大多数网站都可以在IE下使用。因为 1. IE无法调整那些使用px作为单位的字体大小;...
在众多单位中,`px`(像素)和`em`是两种最常见的长度单位,它们各自拥有独特的特性和应用场景,理解它们之间的区别对前端开发者来说尤为重要。 ### `px`单位解析 `px`,全称为pixel,中文翻译为“像素”,是最...
本文将深入探讨CSS3中的单位px、em和rem,它们都是用来定义元素尺寸的重要工具,但各有其特点和应用场景。 首先,我们要理解像素(px)单位。像素是屏幕上的最小显示单位,通常用于创建精确的布局。当你设置一个...
国内的设计师大都喜欢用px,而国外的网站大都喜欢用em和rem,那么三者有什么区别,又各自有什么优劣呢?下面给大家详细介绍下。 PX特点 1. IE无法调整那些使用px作为单位的字体大小; 2. 国外的大部分网站能够调整的...
### CSS 弹性布局 px和em值转换表详解 在前端开发中,特别是在CSS布局设计时,经常需要用到单位之间的转换,比如将像素单位(px)转换为相对单位(em)。这样的转换有助于实现响应式布局和更灵活的设计。本文将详细介绍...
在CSS布局和样式设计中,理解像素(px)和em单位的区别是非常重要的,因为它们直接影响到网页的可读性和响应性。下面将详细解释px和em单位,并探讨它们在实际应用中的差异。 首先,像素(px)是绝对单位,代表显示器上...
为了创建弹性布局,我们需要掌握字体大小、像素(px)和EM单位之间的转换关系。像素是绝对单位,而EM单位是相对单位,它们之间可以通过简单的乘法运算进行转换。例如,一个宽度为100px的元素,如果使用EM单位表示,...
之前听人说过,网站制作中字体单位应该用em而不用px,原因简单来...为了简化font -size的换算,需要在css中的body选择器中声明Font-size=62.5%,这就使em值变为16px*62.5%=10px, 这样12px=1.2em, 10px=1em, 也就是说只
我一直也搞不清楚px与em之间的关系和特点,看过以后确实收获很大。平时都是用px来定义字体,所以无法用浏览器字体放大的功能,而国外大多数网站都可以在IE下使用。因为 1、IE无法调整那些使用px作为单位的字体大小...
CSS定义了几种长度单位,包括相对单位和绝对单位,其中em、px和pt是最常用到的。下面将详细解释这些单位以及它们之间的换算关系。 首先,pt(Point)是一个绝对长度单位,主要用于打印媒体。1点等于1/72英寸。在...
`postcss-px2rem` 是一个非常实用的开源库,它是基于 PostCSS 的插件,主要用于将 CSS 文件中的像素单位(px)自动转换为相对单位(rem)。PostCSS 是一个工具,它允许开发者通过编写自定义的JavaScript 插件来处理...
本文将深入探讨CSS中五个常用的长度单位:px、rem、em、vh和vw,以及它们之间的差异。 1. **像素单位px**: 像素px是最基础的单位,它是一个固定的长度单位,类似于物理世界中的米或厘米。在屏幕上,1px代表显示器...
postcss-pxtorem 的插件,可从像素单位生成rem单位。 安装 $ npm install postcss postcss-pxtorem --save-dev 用法 像素是最容易使用的单位(观点)。 它们的唯一问题是它们不允许浏览器将默认字体大小更改为16。...
本文将详细解析px、em、rem、%、vw和vh这些单位的区别及其应用场景。 1. **px (像素)**: 像素是绝对长度单位,它基于屏幕的物理分辨率。1px表示设备上的一点,通常用于创建精确的图形或保持元素大小恒定。由于px是...
本文将详细解析三种常见的CSS字体单位——像素(px)、em和rem的区别及其应用场景。 首先,像素(Pixel,px)是绝对长度单位,它基于显示器的物理像素。在大多数情况下,px 提供了一种稳定且可预测的布局,但有一个...
`postcss-px2rem`是一个PostCSS插件,它的主要任务就是自动将CSS文件中的`px`单位转换为`rem`。PostCSS是一个工具,它可以解析、修改、然后生成CSS,允许开发者使用未来CSS语法,或者像`px2rem`这样的自定义转换。在...