2012-12-09 15 views
8

有沒有辦法使用CSS使字母靠得更近?我知道我們可以調整線條高度,但我不知道是否有任何東西將字體擠在一起。使字體與CSS更加緊密

+1

可能重複[是否有一個跨瀏覽器的方式來壓縮頁面上的文本?](http://stackoverflow.com/questions/417017/is-there-a-cross-browser-way-to-condense -text-ON-A-頁) –

回答

26

您正在尋找letter-spacing

#id { letter-spacing: -1px; } 

Reference

6

可以指定所有字母之間的距離,

letter-spacing: 0.1em; 

,但你不能克恩單個字母,除非你包的每個字母在一個範圍內

7

answ呃取決於你的意思是「字體」,「濃縮」和「擠壓」。

您可以使用font-stretch屬性爲字體(來自字體系列)選擇更精簡的字體(特定字體)。但它不會擠壓任何東西;它只是選擇了一種設計更濃縮的字體。人們計算機中常用的字體沒有這種字體;一些可下載的字體(網絡字體)。大多數情況下,只需使用特定的字體名稱就可以以更加跨瀏覽器的方式使用它們,就好像它是字體系列名稱一樣,例如, font-family: Arial Narrow。 (注意:Arial Narrow僅在某些計算機上可用,遠不及基本Arial。)

如果使用的字體具有OpenType格式的字距信息,則可以使用某些CSS技術來提示字距。網頁上常用的大多數字體都沒有這樣的信息。 (例外:帕拉蒂諾萊諾,宋體,和Microsoft C字型像宋體和坎布里亞)適用聲明:

body { 
text-rendering: optimizeLegibility; 
-webkit-font-feature-settings: "kern"; 
-moz-font-feature-settings: "kern"; 
font-feature-settings: "kern"; 
} 

這些設置的影響,如果有的話,往往是相當小的。這並不意味着任何暴躁的「擠壓」。相反,它以微妙的方式修改渲染,使其在印刷上更好;文字寬度可能會略微變小,但這只是一個巧合的副產品。

如果您使用否定letter-spacing,這意味着蠻力擠壓。它可能偶爾有意義,例如對於大尺寸的無襯線文字,像letter-spacing: 0.03em這樣的小數值。即使這樣,結果也應該進行評估,特別是注意字母組合,這些字母組合在擠壓時可能看起來很奇怪(例如,「rl」或「te」)。大多數情況下,如果您認爲字母間隔太大或文字太寬,考慮使用其他字體,而不是中斷字體的正常顯示。