关于CSS中字号控制的兼容性研究[译](3)
作者:ximicc 来源:ximicc博客 时间:2009-02-24 16:35:00
用EM设置行高 – iteration 5
既然px不适合,我们接着来尝试一下em单位,设定如下CSS规则:
body {
font-size:100%;
line-height:1.125em; /* 16×1.125=18 */
}
.bodytext p {
font-size:0.875em;
}
.sidenote {
font-size:0.75em;
}
所得到的结果在各方面都正如我们期待的一样,近乎完美。
Safari 中等距字体的问题 – iteration 6
细心的人可能会发现,在Safari浏览器下主体文本中等距字体文本在渲染上存在一些细微的差别:当字号以px为单位时,等距文本的宽度与其它文本没有很大的区别,但是当字号以em为单位时,等距文本的宽度就要小多了。这个问题的根源在于Safari缺省设置中,普通字体的字号为16px,而等距字体的字号则是13px。
英文有那么多字体, 但都隶属于serif, sans-serif和monospace三种字组. 由于英文本身的特点, 不同于方块字(汉字), 英文字母的宽度是不相等的, 这就给出版业如报纸的排版工作增加了难度, 于是发明了等距字体(monospace).
也许有些人会觉得这个问题无关紧要,但大部分人不会放弃对这些细节的追求。那么下面就是一个可行的解决方案,注意其中的[if !IE]语法,它表示IE6和7将忽略表示其后的规则:
<style type="text/css">
body {
font-size:100%;
line-height:1.125em;
}
.bodytext p {
font-size:0.875em;
}
.sidenote {
font-size:0.75em;
}
</style>
<!--[if !IE]>-->
<style type="text/css">
body {
font-size:16px;
}
</style>
<!--<[endif]-->
上面的规则把px字号应用到了除IE6和7的其它浏览器上,结果示例中可以看到现在所有的浏览器下行高与字号之间都有了很好的缩放协调,包括Safari中的等距文本。
对于这种类似于Hack的方法存在很多争议,但个人认为在这里运用它没有什么不妥当,毕竟我们只是利用浏览器特性来矫正其元素渲染的处理方式而已。另外本例中的CSS都是内联式的,最好的方式当然是外联样式。
英语原文地址:How to Size Text in CSS
标签:兼容,字体,浏览器,css
0
投稿
猜你喜欢
XHTML代码的基本应用
2007-10-26 12:32:00
关于字符集和Unicode的相关知识[译]
2010-03-13 14:17:00
深入分析SQL Server的数据转换服务
2008-11-28 15:29:00
MySQL数据库本地备份和双机相互备份
2008-05-27 12:25:00
一行代码给你的WordPress Blog添加下雪效果
2008-12-14 09:43:00
如何做一个文本搜索?
2010-07-12 19:00:00
ASP写的汉字转换为UTF-8的一段代码
2009-07-05 18:49:00
ASP 错误代码
2009-05-11 12:38:00
Javascript Selectors 入门篇
2010-04-12 12:55:00
2008年个性设计挂历参考
2007-12-29 20:30:00
在ASP.NET页面中如何利用JAVASCRIPT脚本向IFRAMES和POPUP传值
2007-09-23 13:18:00
css去掉checkbox边框的方法
2011-06-06 10:32:00
用ASP+XML打造留言本实例
2007-08-13 10:38:00
使用正则表达式找出不包含特定字符串的条目
2010-03-02 22:06:00
什么是网站灵魂?
2007-09-08 08:25:00
统一的品牌设计
2008-08-07 12:53:00
详细讲解如何为MySQL数据库添加新函数
2008-11-27 17:06:00
通过模版字符串及JSON数据进行目标内容整理的一个小方法
2010-01-12 16:55:00
ASP生成静态网页的方法
2008-02-18 19:20:00
asp下几种常用排序算法
2011-04-18 10:33:00