在CSS里,要害字在处理字体大小规范上看起来是一个可行的解决方案,假如不是一个最理想的解决方案的话。不幸的是,CSS字体大小要害字早期的实现并不一致,在这一点上它的名声并不好,所以导致了很多Web构建者刻意避免使用它们。
要害字存在的一个问题是,这一概念的第一个实现要求:每个要害字所体现出文本大小是上一个较小要害字所表现的文本的1.5倍大,这就导致每个要害字之间所体现的文本大小差别过大。这一规范后来改为使用更为合理的1.2倍,但是直到不久以前,还是有一些浏览器用1.5倍来实现要害字。
CSS要害字的另一个问题是HTML数值字体大小的错误映射。在大多数浏览器里,普通文本字体的缺省大小是HTML3号字。因此,有些浏览器会把缺省的文本字体大小映射称为要害字“small”,因为它是从最小字体算起的第三大,而不是更加符合逻辑的要害字“medium”。
在大多数主要的浏览器里,当前要害字的实现都解决了这些问题。要害字之间的大小增减量在视觉上都是合理的,而且假如没有指定其他的尺寸,文本的字号缺省就是中号。但是,对先前问题的更正也带来了它自己的问题:浏览器的不兼容。能够在当前浏览器里生成理想结果的CSS样式在更老的浏览器里可能无法产生相同的结果。
在使用要害字指定字体大小的时候,解决浏览器不兼容的一个方案是为当前的浏览器设置一种字体大小,而对更老的浏览器使用CSS代码为其指定不同的字体大小。这项技术与Box Model Hack的相同,后者通常用来为更老的浏览器提供不同的空白、填充和大小值。像这样的hack到处都是,但是只要大量陈旧的、非标准的浏览器仍在使用中,它们就是Web构建者必须容忍的不幸的现实。
评论加载中…
![]() |