日期:2014-01-17  浏览次数:21058 次

网页制造aiyiweb文章简介:乍一听css字体设置很容易,其实真做起来不然。我们工程师使用原力,他们在不同浏览器调整字体的大小知道的得到合适的结果。实际上有一点深入的理解就能起到很大的作用。

英文原文:http://www.sitepoint.com/blogs/2009/08/20/css-font-sizing-tutorial/

乍一听css字体设置很容易,其实真做起来不然。我们工程师使用原力,他们在不同浏览器调整字体的大小知道的得到合适的结果。实际上有一点深入的理解就能起到很大的作用。

font-size 属性:

font-size属性可以被设置给任何一个html标签,即便是不能包含文本的标签也可以设置它,比如:<br/>。可以被赋值是各种各样滴,比如:绝对,绝对,长度值

一个元素的font-size属性会自动承继它父节点元素的font-size属性值,除非你覆盖了它。当你给font-size设置绝对大小的时候这一点很重要。

font-size 设置的绝对关键字:

以下几个绝对字体大小的设置是无效的。当然他们是浏览器预定义设置的。给元素指定了绝对关键字font-size的时候,该元素就不会承继父元素的字体大小

  • font-size: xx-small;
  • font-size: x-small;
  • font-size: small;
  • font-size: medium;
  • font-size: large;
  • font-size: x-large;
  • font-size: xx-large;

虽然大多数的浏览器支持上面的关键字,但是他们的精确的大小是不相反滴。

font-size的绝对大小:

fone-size能被设置成下面得绝对大小:

  • mm: 毫米,例如:10mm.
  • cm: 厘米 ,例如:1cm ( = 10mm).
  • in: 英寸(inch),例如 : 0.39in ( ~= 10mm).
  • pt: point(点), 1pt 相当于 1/72 英寸, 例如: 12pt.
  • pc: pica(十二点活字), 1pc 是 12pt
  • px: pixel(像素), 例如: 14px.

普通说来上面得这些度量单位都有些问题

比如:毫米,厘米,英寸是对于不同媒体介质是不精确地,由于分辨率的设置不同,pt和pc就是绝对不可靠地。pix来起来是最合适的,但是它能导致一些辅助性问题:IE下不能重新调整字体的大小。

绝对大小:font-size属功用被设置成绝对于父节点的字体大小的绝对大小。

  • em: 1em相当于当前字体的1倍大小的字体。2em相当于当前字体的2倍字体大小的字体。
  • %: 100%相当于当前字体大小, 200% 相当于2倍字体的大小.
  • ex: 1ex 相当于当前字体中字母 ‘x’高度值一样大小的字体.

很少的开发者使用ex ,实际上某些情况下ex还是相当好用的,比如当你需求更精确的字体的大小的时候,1ex要比0.525em更好,更精确。

%和em的值是等价的,比如:50% = 0.5em, 100% = 1em, 120% = 1.2em等等,

虽然会有很少的一些浏览器有些微妙的差别,但是毕竟那是很少见的问题。如果你想要保存更小的字节,就需求用更短的名字去定义font-size的值。比如:50%要比0.5em占用字节少,1em要比100%占用的字节少。

文本字体的大小和页面放缩。

这是附加复杂深入部分,大多数浏览器允许用户在浏览器中做如下操作:

1.添加或减少基本字体大小(图片除外)

2.页面放缩是所有的文字和图片也相应发生放缩变化。

3.不但允许字体放缩,而且还允许页面放缩

备注(深入理解):在ie中如果页面中的元素的字体被用px(像素)赋值了,那么该元素的字体在页面放缩的时候不会发生变化。

如果您是有印刷行业背景的设计师将要转移到web设计,那就建议您不要给予用户过多的权利否则他们会打乱您的设计作品。您的设计作品被放大到200%的时候,或者字体减少至50%,就会被破坏掉。

css font-size 设置建议(规范)

普通来说,大多数情况下使用em或者%,这样字体就能被浏览器用更精细比例的字体支持。我团体建议使用百分比%来定义font-size大小,这种做法在一些老的浏览器中支持的也会更好。

当你在开发一个网站的时候有下面的一组建议提供应您:

1. 在testing之前,重置所有浏览器的字体的大小。

2.尽量合理的定义字体的大小,以便于在页面放缩的时候页面仍然保持良好的可读性。