2012-11-30 39 views
0

我的网站大部分使用相对字体和流体布局技术,因此我们的网站布局将根据浏览器的默认字体大小设置为缩放比例。但是,某些元素具有固定的宽度,而且我们的布局超过了特定的字体大小,但效果不佳或效果不佳。在这一点上返回并改变所有这些元素是不可行的。允许相对字体大小达到特定的最大值

所以,我想允许网站根据用户在浏览器中选择的默认字体大小进行调整 - 在一定范围内。例如,在浏览器fontsize22px;上,事情开始显得有些诡异。我希望网站是相对的,直到达到最大基本大小22px

从我可以收集,似乎没有任何简单的方法来指定这纯粹在CSS中。我认为最好的方法是使用Javascript来检测页面加载时的基地fontsize,如果它是>22px那么我会在我的身体标记上设置样式以将font-size修复为22px。如果它小于22px,我不会做任何事情(并保留默认的相对风格)。我不关心在加载页面时处理字体大小变化,因为这看起来像是一个边缘案例(在下一页加载时会得到纠正)。

这是最好的方法,还是有更好的方法?

回答

0

您不能阻止用户增加字体大小(即使您以像素为单位设置大小,用户只能按Ctrl +),许多人认为这很好 - 人们可能需要比您预期的更大的字体大小,并打破布局有些可能比无法读取更好。所以你可以做的是做出任何合理的努力,以确保页面适合各种字体大小。

+0

我不确定你是否完全明白这个问题。我知道CTRL +/-会放大页面,并增加字体大小 - 这很好,因为这是缩放整个页面(包括所有的“固定”的布局),所以一切仍呈现正常,只是放大,我想允许字体大小调整,达到一定的限制。如果我只是将身体设置为固定大小,比如10px,那么没有人能够改变它。我想让我的字体大小变量(body:69%,然后是em的儿童),但要确保“69%的默认值”永远不会> 22px。 – Dan

+0

你仍然不能。无论浏览器是让用户放大整个页面还是只是文本都不是真正相关的。用户可以在他的用户样式表中总是有'* {font-size:32pt!important}“。 –

+0

我不同意;它是相关的(在我的情景中)浏览器缩放整页还是具有不同的基本字体大小。在前者中,布局被保留下来,并且所有东西都符合布局。在后者,它是可能的(超过一定大小)的文本不再正确贴合在其容器和包装/重叠低于理想的方式/截断。我关心的情况是浏览器字体默认设置> 22px的用户;我知道有人可以通过用户样式表覆盖,但他们自己承担风险。根据我的要求,这不可能吗? – Dan