这个公式是否近似div中每行的字符数是否正确?

时间:2012-07-13 19:38:54

标签: css typography

我遇到了一些说{/ 3>的website

在前面的示例中,第1列具有固定宽度:它已设置为400 px宽。使用12 px的文本渲染,这将导致每行大约66个字符的度量。如果您的阅读器将文本大小增加到16像素,那么该度量将减少到每行50个字符。

第1列的CSS为DIV#col1 { width:400px }

目前,我并不关心阅读器增加文本大小的情况。

我不明白他从哪里得到他的比率,但这个公式似乎考虑了他给出的两个比率:

approximate charcount per line = [2 * (div width)] / (font size)

公式中的单位是像素......

再向下,他又举了两个例子,公式似乎仍然存在......

这个公式是否正确?他为什么要给出这些比率?

我认为之前有人问过这个问题,但也许我的搜索条件错误了。)

2 个答案:

答案 0 :(得分:9)

所引用页面上的示例和公式以及注释都总结为字符宽度是字体大小一半的简单概念。

这只是一个粗略的经验法则,即使是平均值也不是很准确。宽度取决于字体和字符。 “平均字符宽度”是一个非常模糊的概念。在排版中,例如在Robert Bringhurst的“印刷风格元素”中,英文小写字母(a到z)的长度用作度量,但它实际上意味着计算这些字母的平均值,就好像文本仅由它们组成并且与每个角色同样频繁。

实际上,英文散文中字符的平均宽度似乎接近字体大小的0.4而不是0.5。

总之,如果您希望将列宽设置为50个字符,那么以下是合理的尝试:

width: 20em;
width: 50ch;

不支持CSS3单元ch的旧浏览器将使用20em,这对应于0.4估计值。如果您检查(测量)主要字体建议是指字符相对较宽的字体,则可能会使用稍大的比例或更大的比例。但这不是确切的科学。即使使用ch单位也不是精确的科学,因为它只是表示数字零(0)的宽度,尽管这可以被视为“平均字符宽度”的合理近似值。

答案 1 :(得分:2)

字体的像素大小给出高度,宽度对应于比率。确定字符数的唯一方法是使用等宽字体。话虽如此,这听起来是正确的。确切知道的唯一方法是使用您正在使用的字体进行测试(因为它们在高宽比方面可能会有很大差异,并且肯定会因使用的字符而改变)。