2010-07-10 30 views
7

我的應用程序包含一個UIWebView。當應用程序從縱向旋轉到橫向或向後旋轉時,字體重量似乎稍有變化。粗體文本和普通文本在橫向上都稍微大一點,而縱向稍微偏瘦。UIWebView字體比風景畫更薄

這似乎不是在Safari中的情況,只在我的應用程序中。這裏是一個示例圖片,作爲iPad上的屏幕截圖。我旋轉並裁剪了一個示例部分。

alt text http://dl.swankdb.com/font-change-example.png

我有以下的CSS配置,但似乎防止劇烈的字體大小的變化,而不是細微的重量變化,我觀察:

html { 
    -webkit-text-size-adjust: none; /* Prevent font scaling in landscape */ 
} 

任何人都可以解釋一下嗎?模擬器沒有這樣做 - 但我的iPad,iPhone 3GS和iPhone 4都擁有它。我也收到客戶的報告,發生在他們身上,所以我知道這不在我的腦海!

+1

你自己的代碼片段解決了我的字體問題! – 2013-01-03 15:37:35

回答

3

花費試圖弄清楚這一點的時候可笑量之後好吧,我已經找到了解決辦法:

使用此:

HTML {

-webkit-字體平滑:無;

}

+0

是的,這對我很有用。謝謝! – Echelon 2011-04-01 10:40:21

16

我在Safari本身也看到了這一點,我用一個Web應用程序將它放在一起。經過一天左右的頭部劃傷,並通過解構了iPad用戶指南中使用的CSS,我發現

-webkit-transform: translate3d(0,0,0); 

的伎倆。 Google瀏覽器看起來像這樣可以實現渲染的硬件加速,從而在縱向和橫向方向上獲得更加一致的結果。

+0

很棒的發現!謝謝。 – canisbos 2011-11-28 18:16:19

+0

非常感謝,這可以極大地改善圖片/圖標字體的渲染效果。 – 2012-03-29 12:28:00

2

原因是隻有一種模式可以利用顯示器中的子像素,因爲它們排列在某個方向上。另一種模式將顯示帶有灰度消除鋸齒的字體,並顯示稍微不同。