我已经阅读了很多关于使用相对或绝对字体大小调整大小的利弊。固定尺寸不会放大 IE6,但现在这不是什么大问题。可访问性很重要,但我认为所有优秀的可访问性软件都是为处理这些问题而构建的?
我想这主要取决于您是否希望能够使用一条规则更改所有字体大小(即您设置的默认字体大小),或者您是否希望能够在不影响嵌套元素的情况下在某处更改字体大小(这是最让我沮丧的事情!)。
有人有任何提示吗?
根据YUI 字体 CSS,
始终使用百分比作为单位,因为它们比 ems 呈现更一致,并且因为它们允许用户启动调整大小(与像素不同)。
当它们是像 YUI 这样的框架的一部分时,相对字体大小可以很好地工作。特别是因为它们规范了字体在浏览器中的工作方式。
就个人而言,我确实偶尔会输入绝对像素,但通常只用于必须以某种方式与其他一些设计元素(如菜单)匹配大小的文本。
当您将 % 分配给某个元素,然后将不同的 % 分配给包含的元素时,% 的东西确实会分解。但这是我发现的唯一真正的问题。
正如这篇CSS 字体大小文章中所解释的:
理想吗?最好的计量单位是NONE!让用户代理根据用户的偏好确定显示 - 但是!我们也知道,对于大多数设计,这不是一个非常实用的方法。亲自?我更喜欢 .em 和 .px 的“混合匹配”灵活性——随着用户代理变得更加“用户友好”,设计师的大小调整将不会像现在这样存在潜在问题或争议。
不要忘记虽然相对字体大小可以用于...字体大小以外的其他事情!
除了在 IE6(唉,它仍然是一个非常流行的浏览器)中调整大小的能力之外,默认情况下,相对字体让您更有可能匹配用户的需求,而无需他们调整大小(或者知道如何调整,如果我们是在这里谈论没有经验的用户)。用户 - 或代表他们的某人 - 可能出于充分的理由(例如视觉障碍)增加了字体大小作为 DPI、操作系统或浏览器自定义,并且通过相对大小,您可以利用该信息对他们有利。
对于必须与其他以像素(即图像)大小的页面元素匹配大小的文本,请使用“px”。对于其余的, '%'。该问题假设使用相对字体大小在某种程度上是困难的;我不认为它是。
通常,您会在正文的“%”中设置一种字体大小,并在其他页面元素上设置一些字体大小,这些元素或多或少比一般正文文本重要。您应该很少有足够的嵌套级别和嵌套的字体大小,以至于您无法轻松跟踪它们。
尺寸相对于其父尺寸的大小并没有什么特别难以理解的,并且此属性可能很有用:如果您想更改页面或部分页面上的基本字体大小,您只需更改一次而不必通过修复包含元素的每个字体大小声明。
relative 唯一真正的困难是当你相对地调整了一个块的大小,但你想把它里面的东西调整回原来的大小。您可以计算出与父母百分比相反的百分比,但它可能是一个丑陋的数字,如果您不能/不能完全准确地说明它,您可能会得到 1px 的舍入误差。在这种偶尔的情况下,退后一步看看选择器可能是个好主意,看看你是否不能更有选择地应用大小以避免不得不撤消它。
诚然,如果我们有一个仅与用户的默认尺寸相关的单位,而不是父尺寸,来解决这样的问题会很好。不幸的是,唯一像这样工作的值是最小/较小/小/中/等。关键字,除了历史浏览器的一致性问题之外,还比较粗粒度。
OS X 和 Windows 至少处理pt
不同的字体大小,所以这肯定是完全不行的。另一方面,是否有充分的理由不使用相对字体大小?这似乎不是一场双方都有好论据的加权辩论。相反,一方面有几个优点(可能并不总是很明显)。但另一方面,只有表面上的优势,只要稍加探索,就会证明毫无价值。1
实际上,对于绝对字体大小,我只能想到一个论点,即通过复制设计软件中使用的字体大小,可以更轻松地为完成的设计实现 CSS。实际上,一致的设计只会使用少数几种不同的字体大小,它们是彼此之间的简单比例(例如 80%),因此可以用em
或来简单地表示%
。
1)你说:
或者您是否希望能够在不影响嵌套元素的情况下更改某处的字体大小
你到底是什么意思?CSS 的全部意义在于您(通常)更改元素相对于其父元素的属性。为什么这会成为一个问题?
整个辩论有点让人想起“不要使用布局表”的辩论。对于非专业人士来说,这些论点似乎是教条的2但无论如何都没有理由不遵循它们。这并不是说要求争论是错误的!但是有太多毫无意义的违反这条规则的行为。
2)为了记录,我不是网页设计专业人士。在这里只谈一谈我的技术意见。但这个论点实际上与所使用的技术无关。
想想你的父母或祖父母在看你的网页,有没有他们的双光眼镜(或三光眼镜)。如果他们因为您将所有字体都设为 8 像素而无法阅读,他们可能会去其他地方。如果他们单击“文本大小>>最大”并且没有任何反应,他们可能会去其他地方。
鉴于 - 至少在美国 - 许多网络冲浪者都是有时间、金钱和视力下降的老年人,使用 em 作为公共网站的字体似乎有很大的好处;-)
唯一有效的重要原因是很多人仍在使用 IE6。只是这个。在 2008 年底,不再关注 IE6 可能是件好事。但很难忽视IE6。我在意大利的一家大公司担任网页设计师/开发者,我们的许多员工或客户现在正在他们的工作计算机上使用 IE6 浏览互联网。
为什么?他们没有管理员权限,不能在他们的机器上安装任何东西,而且系统管理员总是忙于升级每个办公室的电脑。可能当他们的硬盘需要更换时,这些人会升级到 IE7(就像 Firefox 是一个梦想)。
这种事情可能只发生在意大利。但我不会打赌。
对字体大小、行高、上/下边距和填充使用相对单位也将在用户增加/减少文本大小时保持印刷比例不变。排版和设计人员会欣赏它 =)