CSS的字体样式设置相信许多人再熟悉不过,其实字体样式的设置并不仅仅限于我们平时常用的那几个属性,本文为您详细叙述 font-size 的字体样式设置的详细属性。
乍一听css字体设置很容易,其实真做起来不然,我们工程师使用全力,他们在不同浏览器调整字体的大小知道的得到合适的结果。实际上有一点深入的理解就能起到很大的作用。
font-size 属性:
font-size属性可以被设置给任何一个html标签,即使是不能包含文本的标签也可以设置它,比如:可以被赋值是各种各样滴,比如:绝对,相对,长度值
一个元素的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%占用的字节少。
文本字体的大小和页面放缩
这是附加复杂深入部分,大多数浏览器允许用户在浏览器中做如下操作:
增加或减少基本字体大小(图片除外)
页面放缩是所有的文字和图片也相应发生放缩变化。
不但允许字体放缩,而且还允许页面放缩
备注(深入理解):在ie中如果页面中的元素的字体被用px(像素)赋值了,那么该元素的字体在页面放缩的时候不会发生变化。
如果您是有印刷行业背景的设计师将要转移到web设计,那就建议您不要给予用户过多的权利否则他们会打乱您的设计作品。您的设计作品被放大到200%的时候,或者字体减少至50%,就会被破坏掉。
CSS Font-size 设置建议(规范)
一般来说,大多数情况下使用em或者%,这样字体就能被浏览器用更精细比例的字体支持。我个人建议使用百分比%来定义font-size大小,这种做法在一些老的浏览器中支持的也会更好。
当你在开发一个网站的时候有下面的一组建议提供给您:
在testing之前,重置所有浏览器的字体的大小。
尽量合理的定义字体的大小,以便于在页面放缩的时候页面仍然保持良好的可读性。
参与讨论:http://www.missyuan.com/viewthread.php?tid=416925