font-size的控制 em与px的终极PK!

  这里引用的是Jorux的“95%的中国网站需要重写CSS”的文章,题目有点吓人,但是确实是现在国内网页制作方面的一些缺陷。我一直也搞不清楚px与em之间的关系和特点,看过以后后确实收获很大。平时都是用px来定义字体,所以无法用浏览器字体放大的功能,而国外大多数网站都可以在IE下使用。因为 
  1. IE无法调整那些使用px作为单位的字体大小; 
  2. 国外的大部分网站能够调整的原因在于其使用了em作为字体单位; 
  3. Firefox能够调整px和em,但是96%以上的中国网民使用IE浏览器(或内核)。
  px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。
  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%; 
  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处理汉字时,对于浮点的取值精确度有限。不知道有没有其他的解释。

时间: 2024-08-03 14:48:18

font-size的控制 em与px的终极PK!的相关文章

网页字体font-size的控制 em与px的终极PK!

控制|网页 这里引用的是Jorux的"95%的中国网站需要重写CSS"的文章,题目有点吓人,但是确实是现在国内网页制作方面的一些缺陷.我一直也搞不清楚px与em之间的关系和特点,看过以后后确实收获很大.平时都是用px来定义字体,所以无法用浏览器字体放大的功能,而国外大多数网站都可以在IE下使用.因为 1. IE无法调整那些使用px作为单位的字体大小: 2. 国外的大部分网站能够调整的原因在于其使用了em作为字体单位: 3. Firefox能够调整px和em,但是96%以上的中国网民使用

em与px的介绍及换算方法

em是何物? 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. e

响应式-html的font size设置,跟美工出图的尺寸?

问题描述 html的font size设置,跟美工出图的尺寸? 在图上的这种设置下,美工出图应该按照什么宽度设计页面? 解决方案 clientWidth如果不是固定的,那么没有固定尺寸,你的背景要么使用重复,要么进行拉伸,或者剪切 解决方案二: 这个html的font-size设置多大和美工出图尺寸之间没有必然联系.只要设置了一个html的font-size值其他元素会根据与此值的比例大小,换算成rem单位. 一般情况下如下设置,目的是方便计算. document.style.fontSize

html-web开发中em 百分比 px pt等需要注意的细节和他们的差别

问题描述 web开发中em 百分比 px pt等需要注意的细节和他们的差别 新手在用appcan开发手机应用,用的是html css js,在页面自适应屏幕方面遇到困难,例如"使用百分比控制刷新钮的宽度,那么在低分辨率和高分辨率之间将会有非常大的偏差."我对这个细节不理解.

Controlling Font Size With Javascript 兼容主流浏览器

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta content="text/html;

CSS中em和px的区别

Font-size:1.5em; 其实在国外CSS编写中,使用em作为单位是很多的,一是人性化考虑,二是受到美国劳工部Section508法案的强行限制.那么在网页设计中,常用到的度量单位一共有三种,分别是px/em/pt: *px单位名称为像素,相对长度单位,像素(px)是相对于显示器屏幕分辨率而言的,国内的网站很多都是采用px作为单位的. *em单位名称为相对长度单位.相对于当前对象内文本的字体尺寸.在国外使用的很多.众多先进浏览器[IE除外的基本都是]都支持字体调整. *pt单位名称为点(

网页单位em与px的比较

1em=16px. em具有继承性. 如果定义了 body{font-size=12px;}#title{font-siez=2.6em;} 而id=title恰好在body里面,那么,id=title的字体大小就是2.6*16-12=29.6px 国外大多用em作为字体单位,因为ie和ff都能调整大小 ie无法调整px作为单位的网页字体大小 作为设计来说各有利弊 用em作为单位的好处是方便老年人阅览,方便非JS方式调整大小. 用px作为单位的好处来说是不管浏览器字体大小如何设置,都不会"乱套&

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

  em:1em为当前字体font-size,一般浏览器默认为(16px); ex:以给定字体的小写字母x的高度为基准 px:像素,屏幕上的一个小方格 pt单位名称为点(Point),绝对长度单位一般老版本的table使用长度大小单位但是现在基本上没有使用

CSS尺寸和字体单位-em、px还是%

在页面整体布局中,页面元素的尺寸大小(长度.宽度.内外边距等)和页面字体的大小也是重要的工作之一.一个合理设置,则会让页面看起来层次分明,重点鲜明,赏心悦目.反之,一个不友好的页面尺寸和字体大小设置,则会增加页面的复杂性,增加用户对页面理解的复杂性:甚至在当下访问终端(iPhone.iPad.PC.Android-)层出不穷的今天,适应各式各样的访问终端,将成为手中的一块"烫手的山芋".所以在近几年,"九宫格"式的"流式布局"再度回归.为了提供页