`
liudaoru
  • 浏览: 1575960 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

CSS中单位em和px的区别[z]

阅读更多
From: http://plog.longwin.com.tw/news-technology/2007/12/07/css_px_em_difference_2007

http://yui.yahooapis.com/2.4.0/build/reset-fonts-grids/reset-fonts-grids.css

Yahoo! 的 YUI Fonts CSS 建议字的大小都用 % 來表示, 对照表如下:

10px => 77%
11px => 85%
12px => 93% (was 93)
13px => 100%
14px => 108% (was 107)
15px => 116% (was 114)
16px => 123.1% (was 122)
17px => 131% (was 129)
18px => 138.5% (was 136)
19px => 146.5% (was 144)
20px => 153.9% (was 152)
21px => 161.6% (was 159)
22px => 167%
23px => 174%
24px => 182%
25px => 189%
26px => 197%

================
From: http://www.skyxy.cn/bencandy.php?fid-39-id-2383-page-1.htm

这里引用的是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处理汉字时,对于浮点的取值精确度有限。不知道有没有其他的解释。

本文来自:天空学苑网(www.skyxy.cn) 原文链接:http://www.skyxy.cn/bencandy.php?fid-39-id-2383-page-1.htm
分享到:
评论

相关推荐

    CSS 中文API(包括html和chm两种格式)

    可以是颜色值(如`red`或`#FF0000`)、长度单位(如`px`、`em`)、百分比、关键词(如`bold`)等。 此压缩包中的中文API文档将涵盖CSS的所有核心特性,包括但不限于: - **盒模型**:理解CSS的盒模型至关重要,它...

    高效学习css布局之道 源代码

    8. **单位**:熟悉各种CSS单位,如像素(px)、相对单位(em, rem)、百分比、视口单位(vw, vh)等,有助于实现不同场景下的布局需求。 9. **边距折叠**:当兄弟元素的外边距相邻时,会发生边距折叠现象。理解这个...

    css文件

    理解CSS中内联元素和块元素的区别对于创建响应式和适应性强的布局至关重要。块元素默认占据整个容器宽度,而内联元素则只占据其内容所需的空间。 #### CSS 权重 CSS权重是指当多个规则冲突时,浏览器根据规则的...

    立体字的CSS代码,简单的CSS代码,一句话就好

    在现代网页设计中,CSS提供了丰富的属性和功能,使得创建立体字变得相对简单。 ### CSS立体字实现原理 #### 1. **阴影属性(`box-shadow`)** - `box-shadow`是CSS中用于添加阴影的关键属性,它可以为元素添加一...

    CSS语法速查表(CSS语法一览表)

    - **单位**: 常见单位有像素(px)、百分比(%)、em等。 - **示例**: `font-size: 16px;` **1.3 font-style** - **功能**: 定义字体样式。 - **可选值**: `normal` (默认)、`italic` (斜体)、`oblique` (倾斜)。 - **...

    CSS精华实例参考

    7. **CSS单位**:了解各种长度单位,如像素(px)、百分比(%)、视口单位(vw/vh)和相对单位(em/rem),有助于实现精准布局。 8. **颜色和背景**:掌握颜色模式(RGB、RGBA、HSL、HSLA),以及如何设置背景图像、渐变和...

    CSS基础知识1

    推荐在`body`标签中设置`font-size`为62.5%,这样后续使用`em`作为单位时,1em等于10px,便于实现响应式设计。默认情况下,浏览器的字体大小是16px,62.5%等于10px,这使得调试变得简单。 CSS的坐标轴系统分为2D和...

    CSS-Cheat-Sheet.pdf

    CSS中定义尺寸时可以使用相对单位,如百分比(%)、em、rem等,也可以使用绝对单位,如厘米(cm)、毫米(mm)、英寸(in)、像素(px)、点(pt)、派卡(pc)等。颜色同样可以使用上述的十六进制、RGB、RGBA、HSL...

    CSS样式命令 css命令大纲

    下面将详细阐述标题和描述中提到的一些常用CSS命令。 1. `font-family`: 这个属性定义了元素的字体系列。例如,`font-family: Arial, Helvetica, sans-serif;` 指定了首选字体为Arial,如果浏览器不支持Arial,则会...

    精通CSS高级Web标准解决方案

    2. 属性与值:理解CSS中的属性和对应的值,如颜色、字体、边距、填充等,以及如何使用单位(px、em、rem等)进行尺寸定义。 3. 样式继承:了解如何通过样式继承减少代码冗余,保持CSS的简洁性。 二、盒模型 1. 内容...

    CSS+HTML教程(完整版).zip

    5. 相对单位与绝对单位:如像素px、百分比%、视口单位vw/vh等,及其在布局中的应用。 6. 浮动布局:使用`float`属性实现元素的左右排列,以及清除浮动的方法。 7. 定位:掌握`position`属性的静态、相对、绝对和固定...

    样式表教程——CSS

    3. **属性和值**:学习各种CSS属性,如颜色、字体、布局、边框、背景等,以及它们对应的值,如颜色代码、单位(px、em、%)等。 4. **盒模型**:理解CSS盒模型,包括内容(content)、内边距(padding)、边框(border)...

    CSS常用的代码单词

    - **取值**: 长度单位(如`px`、`em`)、百分比。 - **作用**: 控制元素大小。 **2. margin & padding** - **功能**: 分别设置元素的外边距和内边距。 - **取值**: 长度单位或百分比。 - **作用**: 调整元素之间的...

    css样式属性.doc

    - `Font-size`:设置文本的大小,可以使用绝对单位(如px)或相对单位(如em、%)。 - `Font-style`:定义文本样式,如正常(normal)、斜体(italic)或 oblique。 - `Font-weight`:设定字体的粗细,可以是数字...

    CSS3知识点归纳

    - CSS中的标签大致可以分为块级元素和内联元素两大类。 - **块级元素**(如`<div>`、`<p>`)默认占据一行空间。 - **内联元素**(如`<span>`、`<a>`)与其他元素在同一行显示,不独占空间。 #### 背景 - **背景图片...

    css入门笔记

    独立于任何网页位置处,声明一个样式文件(.css为后缀),在文件中声明样式,在使用的网页中引入.css文件。 使用步骤: 1.创建样式表文件(.css) 2.在样式文件中编写样式规则 3.在网页中对样式文件进行引入 &lt...

    Web前端面试题,包括HTM、CSS、JavaScript等相关题

    - **px与em**:px是固定单位,em基于父元素的字体大小,适合作为响应式设计的单位。 - **CSS Reset**:清除浏览器默认样式,如Eric Meyer Reset, Normalize.css则是规范化浏览器样式,保留基本元素的默认样式。 ...

    Css下拉菜单完美版.doc

    - 使用相对单位(如`em`)和百分比宽度来适应不同屏幕尺寸。 #### 三、关键特性 1. **兼容性**: 通过条件注释及特定的CSS规则,确保了在IE6、IE7及现代浏览器中的良好表现。 2. **交互性**: 鼠标悬停时子菜单会...

    CSS基本规范

    ### CSS基本规范详解 #### 一、文档注释 在CSS文件顶部添加注释是非常重要的一个习惯,它有助于后续维护人员快速了解文件的基本信息。例如: ```css /* -------------------------------- Site(网站): 网站的...

Global site tag (gtag.js) - Google Analytics