2012-07-13 12 views
7

我碰到一些website,說這個公式用於逼近div中每行的字符數量是否正確?

在前面的例子來,第1列具有固定的寬度:它已被設置爲400像素寬。在12px的文本渲染下,這將導致每行大約66個字符的度量。如果您的閱讀器將文本大小增加到16 px,那麼該度量減少爲每行50個字符。

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

此刻,我不那麼關心的一些情況,其中讀者增加了文字大小

我不明白的地方,他得到他的比率從,但這個公式似乎佔了兩個比率,他給:

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

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

進一步他給出了兩個更多的例子,公式似乎仍然存在......

這個公式是否正確?他爲什麼給這些比例?

我認爲,有人問過這一點,但也許我錯了搜索詞:)

+0

回想起來,我意識到使用_px_單位設置列大小有時不適合排版。 [em](http://en.wikipedia.org/wiki/Em_(typography)#CSS)的維基百科頁面說:_ [...] HTML和在線標記中的W3C最佳實踐建議現在呼籲網頁基於可擴展的設計,使用相對的測量單位(如em測量)_ – gitparade 2012-07-15 19:46:09

回答

8

引用頁面上的示例和公式以及註釋都歸納爲一個簡單的概念,即字符的寬度是字體大小的一半。

這只是一個粗略的經驗法則,即使是平均值也不是很準確。寬度取決於字體和字符。 「人物的平均寬度」是一個非常模糊的概念。在印刷術中,例如在Robert Bringhurst的「印刷風格的要素」中,英文小寫字母(a到z)的長度被用作度量,但它實際上意味着計算這些字母的平均值,就像文本僅由它們組成,並且與每個角色同樣頻繁。

實際上,英文散文中字符的平均寬度似乎接近0.4的字體大小,而不是0.5的字體大小。

總之,如果你要設置列寬,比方說,50個字符,再下面是一個合理的嘗試:

width: 20em; 
width: 50ch; 

舊的瀏覽器不支持CSS3單元ch然後將使用20em,其對應於0.4的估計。如果您已檢查(測量)您的主要字體建議是否涉及字符相對較寬的字體,則可能會使用較大的比例或較大的比例。但這不是確切的科學。即使使用ch單位也不是精確的科學,因爲它只是表示數字零(0)的寬度,儘管可以將其視爲「平均字符寬度」的合理近似值。

2

像素大小的字體給出了一個高度,由比相應的寬度。確定字符數的唯一方法是使用等寬字體。這就是說,這聽起來是正確的。要知道確定的唯一方法就是使用你正在使用的字體進行測試(因爲它們在高寬比方面可能會有很大的變化,而且肯定會因使用的字符而改變)。

+0

謝謝......這似乎是有道理的 – gitparade 2012-07-13 21:01:52