`
wyzxzws
  • 浏览: 384099 次
  • 性别: Icon_minigender_1
  • 来自: dazhou
社区版块
存档分类
最新评论

你应该知道的CSS文字大小单位PX、EM、PT ---转载

阅读更多

转载:http://www.html5cn.org/article-5357-1.html

问题:虽然已经开发前端n些日子了,可是对一些例子仍旧感觉不错。

解决方案:

  

 

  这里引用的是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手册)

 

  字体单位使用em能支持IE6下的字体缩放,在页面中按ctrl+滚轮,字体以px为单位的网站没有反应。

  px是绝对单位,不支持IE的缩放。

  em是相对单位,网页中的文字能放大和缩小。将行距(line-height),和纵向高度的单位都用em。保证缩放时候的整体性。

  任意浏览器的默认字体高都是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%;(Font-size=63%;用于ie6兼容)

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

 

  单位pt的说明

  在印刷排版中,point是一个绝对值,它等于1/72英寸,可以用尺子丈量的,物理的英寸。但是在css中pt含义却并非如此。因为我们的显示器 被分割为了一个个的像素,单个像素只能有一种颜色 (为了简化,这里暂不讨论次像素反锯齿技术),要在屏幕上显示,必须先把以 pt 为单位的长度转换为以像素为单位的长度,这个转换的媒介,就是 DPI (事实上,这里的所谓的 DPI,是操作系统和浏览器中使用的术语,即为 PPI, pixels per inch,和扫描仪、打印机、数码相机中的 DPI 是不同的概念)。

 

  例如,无论在哪个操作系统中,Firefox 浏览器默认的 DPI 都是 96,那么实际上 9pt = 9 * 1/72 * 96 = 12px。

  所以,虽然“DPI”中的“I”和“1pt 等于 1/72 inch”中的“inch”,都不代表物理上的英寸,但这两个单位互相之间是相等的,也就在相乘中约掉了。

  那么,真实的物理长度怎么计算呢?请拿出一把尺子,丈量你的显示器的可见宽度 (我这里是 11.2992 英寸),除以横向分辨率 (我这里是 1024 像素),得到的就是每个像素的物理长度。

 

  现在我们可以回答这样一个问题,网页上 9pt 的字体究竟占用了多宽的空间?答案是:  9 * 1/72 * 96 * 11.2992 / 1024 = 0.1324 英寸 = 0.3363 厘米。

  虽然pt是绝对单位,但是那只是针对输出设备而言的,在文字排版工具(word,abobe)中是非常有用的字体单位。不管显示器的分辨率是多少,打印在纸面上的结果是一样的。

  但是网页主要为了屏幕显示,而不是为了打印等其他需要的。而px能够精确地表示元素在屏幕中的位置和大小。

  当然。在dpi是96的情况下,9pt=12px。

 

  附px、em、%和pt换算表

注:真的感谢这位"你丫才美工"博主,我对前端的兴趣又倍增了!

分享到:
评论

相关推荐

    CSS的em、px、pt长度单位转换示例

    1em=16px 1em=12pt 1px=1/16 em=0.0625em 1px=3/4 pt=0.75pt 1pt=1/12 em≈0.0833em 1pt=4/3 px≈1.3333px em、px、pt的转换工具如下,结果如无法除尽,小数点后面四舍五入到4位,我用“约等于”表示;如果可以除尽...

    CSS Font-Size: em、px 、pt 、Percent之间的关系及换算

    主要介绍了CSS Font-Size: em、 px 、pt 、Percent之间的关系及换算,本篇整理的还是比较详细的,需要的朋友可以参考下

    CSS长度单位 px和pt的区别

    除了px和pt之外,还有em单位,它是相对单位,基于当前字体大小的百分比。如果未指定px或pt,浏览器会使用默认的12pt(16px)作为基准,通过增大或减小em值来调整字体大小。在Internet Explorer中,即使定义了px或pt...

    css中的px、em、rem、pt 特点和区别及换算详解

    1、px (pixel,像素):是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理长度,需要指定精度DPI(Dots Per Inch,每英寸像素数),在扫描打印时一般都有DPI可选。Windows系统默认是96dpi,...

    前端大厂面试思维导图-css面试

    前端大厂面试题目思维导图,非常全面,包含了常见的面试题目,0.5px的线如何实现,sass的常用功能,弹性布局flex-direction,justify-content,align-items,css常见单位rpx、px、em、rem、%、vh、vw的区别,垂直...

    Atom-atom-css-unit-converter,在不同的css单位之间执行转换。对sethlopezme/atom的贡献.zip

    CSS支持多种长度单位,如像素(px)、百分比(%)、视口宽度的百分比(vw)、视口高度的百分比(vh)、em、rem、ex、pt、pc等。这些单位在不同的场景下各有优势,但直接转换它们的值可能会比较繁琐。Atom CSS Unit ...

    详解CSS3 rem(设置字体大小) 教程

    在Web中使用什么单位来定义页面的字体大小,至今天为止都还在激烈的争论着,有人说PX做为单位好,有人说EM优点多,还有人在说百分比方便,以至于出现了CSS Font-Size: em vs. px vs. pt vs. percent这样的PK大局。...

    css长度单位参考

    在CSS样式表中,我们经常会看到pt, px,em,ex,in等这类长度单位。它们各是什么意思,有什么区别呢?在CSS样式表中,长度单位分两种: 相对长度单位,如px, em等,绝对长度单位,如pt,mm等。

    Css+div_常用CSS标签及属性

    其中,em是相对于字体的font-size值的单位,ex是相对于字体中的小写x字母的高度值的单位,px是像素单位。 Css中的元素分类 在Css中,元素可以分为以下几种: * block(块级元素):包括P、H1-H6、list、div、body...

    详解CSS中的几种长度px、em、pt

    说说css的几种距离吧,大致有px、em、pt、pc、in、mm、cm、ex八种,其中最常见到的是px,我还见到过的有ex和mm、cm,当然后两个在当年见的更多

    css中的长度单位(em/ex/px/pt)使用介绍

    css中的长度单位在网页布局中经常会用到(em/ex/px/pt),至于在什么情况下使用,怎么用将在下文为大家详细介绍下

    XML应用开发(软件品牌)-1期 4.4 课堂实践-使用CSS文本属性显示XML文档-字体属性font.doc

    3. `font-size`: 指定字体大小,可以使用绝对单位(如px、pt)或相对单位(如em、%)。 4. `line-height`: 设置行间距,可以是数值、百分比、长度或normal。 5. `font-family`: 定义字体家族,通常提供多个备选字体...

    HTML5+CSS3 文字阴影和阴影位移.docx

    阴影位移通常用像素(px)作为单位,但也可以使用其他长度单位,如em、rem、pt等。em单位是相对长度单位,基于父元素的字体大小。例如,`0.1em`表示当前文本字体大小的10%位移。在示例中,`h1`标签的阴影位移为`0.1...

    html、css网页制作收藏、颜色表、css单位

    CSS单位有很多种,包括绝对单位(如像素px,英寸in,厘米cm)和相对单位(如百分比%,em,rem)。像素是屏幕上的基本显示单元,通常用于精确布局;百分比常用于元素的宽度和高度,使其相对于父元素的大小;em和rem是...

    第14章 CSS颜色与度量单位

    1. 像素(px):固定大小的单位,1像素通常对应屏幕的一个物理点。 2. 百分比(%):相对于父元素尺寸的比例,如`width: 50%;`表示宽度为父元素的一半。 3. em:相对于元素的字体大小,常用于文本相关的尺寸调整。 4...

    css中文排版心得

    在CSS世界中,中文排版是一项特殊的挑战,因为中文字符的特性与西文有很大区别。以下是一些关于CSS中文排版的重要知识点: 1. **文字属性设置**:要设定中文文字的样式,可以使用`font`属性。例如,`font-style`...

    Css复习题 (2).docx

    - font-size属性可用于设置文本大小,单位可以是px、pt、em等。 - 例如:font-size: 12px; font-size: 9pt; font-size: 0.75em; 5. 样式表的优先级: - 直接在元素上设置的样式(内联样式)优先级最高。 - 内部...

Global site tag (gtag.js) - Google Analytics