2014-02-12 47 views
1

使用粗體Arial字體時,會從左側出現意外邊距(僅〜1 px)。使用粗體Arial字體的意外邊距

見例如:http://jsfiddle.net/be2EW/1/

HTML:

<b>ABC</b> <br /> 
<b>STU</b> 

CSS:

body { 
    font-family: Arial; 
    font-size: 80%; 
} 

它正常工作在Mac OS X基於瀏覽器,但無法在Windows。

有沒有人曾經有類似的問題?

Screenshot http://oi61.tinypic.com/207qfqd.jpg

+0

這與Arial字體的字體呈現有關,而不是CSS。 – kleinfreund

+0

@kleinfreund我明白了,但有沒有解決的辦法? – user3301999

+0

@ozgur這是不相關的。這與CSS沒有任何關係,這是一個字體呈現問題。用戶:不會有真正的_fix_,但可能有點詭異的解決方法。但我不認爲這是真的需要。這對你來說是一個真正的問題嗎? – kleinfreund

回答

0

如前所述,這與CSS無關,而是與字體渲染有關。不同的瀏覽器呈現不同的字體。即使是相同的瀏覽器也會在不同的平臺上呈現不同的字體,正如您通過比較基於Mac OS X的瀏覽器和Windows所提到的那樣。

解決方案,您可以嘗試:

  • 使用CSS來重新定位文本
  • 更改爲不同的字體
  • 刪除大膽
  • 創建靜態圖像(不是最好的選擇)

或者,您可以查看CSS3字體模塊:http://www.w3.org/TR/css3-fonts/

請記住,每個瀏覽器都不支持標記,例如font-stretchfont-size-adjustletter-spacingtext-rendering

0

遺憾的是其不可避免的。

http://jsfiddle.net/chrissp26/be2EW/3/

這發生最顯着的較大尺寸與上述小提琴示出。不幸的是你的選擇非常有限。你可以用字母間距來嘗試一些黑客行爲,但這將是一個龐大而複雜的解決方案。

很明顯,最好的做法是使用更統一的字體。

<b>A</b><br /> 
<b>B</b><br /> 
<b>C</b><br /> 
<b>D</b><br /> 
<b>E</b><br /> 
<b>F</b><br /> 
<b>G</b><br /> 
<b>H</b><br /> 
<b>I</b><br /> 
<b>J</b><br /> 
<b>K</b><br /> 
<b>L</b><br /> 
<b>M</b><br /> 
<b>N</b><br /> 
<b>O</b><br /> 
<b>P</b><br /> 
<b>Q</b><br /> 
<b>R</b><br /> 
<b>S</b><br /> 
<b>T</b><br /> 
<b>U</b><br /> 
<b>V</b><br /> 
<b>W</b><br /> 
<b>X</b><br /> 
<b>Y</b><br /> 
<b>Z</b> 
0

它根本不是保證金或任何依賴於CSS的保證金。例如,A字體的「U」左側的間距是字形本身的一部分。這可以在字形編輯器中看到:字形出現在其邊界框內,以便在其任一側都有空白區域。這種間距通常會防止字形相互接觸。在「S」中,效果較小,左側似乎有一些空間的原因大多是字母的形狀。

在硬核排版中,有時會通過微調水平放置字母來處理此類問題。在CSS中做這樣的事情也是可能的,但卻很笨拙而不常見。例如,你可以換一個文本行中的一個元素,並在其上設置以下聲明:

position: relative; left: -1px; 

這有時可能是合理的,就像新聞標題顯示的文本。