2011-02-04 38 views
25

我建立了一個網站,問題是,鉻顯示font-size 1px大於Firefox。我嘗試了幾種方法來匹配字體大小,在px中指定它,在%中將body設置爲100%,然後將元素設置爲0.875em。這些都沒有工作。它仍然在chrome中顯示更大的1個像素。字體大小的問題比較鉻和火狐

這是我使用的字體大小代碼:

body { 
    font-size: 100%; 
} 
* { 
    margin:0; 
    padding:0; 
    text-decoration: none; 
    font-family:helvetica, arial, sans-serif; 
} 
#geral { 
    width:1000px; 
    margin:0 auto; 
    position:relative; 
    font-size:0.875em; 
} 

凡#geral包裝了整個網站,並沒有對CSS沒有其他的字體大小聲明,源可以被看作在我發佈的鏈接中。

我不知道是否有辦法解決這個問題,或者我必須爲每個瀏覽器指定不同的字體大小?

回答

14

我建議你使用一個CSS reset像YUI的一個。它會讓你的網頁在所有瀏覽器,包括字體渲染更加一致。它與IE和其他瀏覽器最大的區別,但它。擺脫不一致的所有方式的

+2

這是必不可少的。每個人都應該一直使用它。 – 2011-02-04 15:48:47

+15

它會改變你的生活,男人。就像找到FireBug,學習jQuery或者第一次吃玉米片一樣。 – 2011-02-04 15:51:15

2

em是可擴展的,而px不是。將字體設置爲定義的px大小,你應該沒問題。 em可能在某些情況下是可取的,但如果你擔心1px,那麼你應該設置嚴格的像素大小。

編輯:只是重讀,我看到你已經嘗試設置高度像素已經。沒有線索,因爲我沒有安裝Chrome來測試。 :(

2

在這裏工作罰款:

鉻9.0: enter image description here

火狐4.0測試版10: enter image description here

1

我也有這個問題,我決定,在可能的情況下去與font-size:small(或者x-small等)。這給你一個基本的可縮放字體大小的範圍,而不必尋找不合適的css或混亂的JS。它適用於IE,FF和Chrome。

1

,如果你有網頁打印,然後

新增CSS

<link rel="stylesheet" type="text/css" href="report.css" media="print" /> 
在CSS文件

body { 
    padding: 3px; 
    margin: 0.5px; 
    background-position: center; 
    color: #000000; 
    background: #ffffff; 
    font-family: Arial; 
    font-size: 13pt; 
} 

這對我的作品

9

FWIW在這個日期,我自己剛剛纔瞭解到,良好的CSS編碼實踐是僅爲HTML或BOD定義絕對字體大小Y元素,並且相對地定義所有其他字體大小,也就是說,根據這個大小(即,使用em%)。

如果你這樣做,你只需要從其他人(Gecko,IE等)挑出單獨的webkit瀏覽器(Chrome,Safari)。因此,舉例來說,你可能已經在你的樣式表中定義,

body { 
    font-size: 16px; 
} 

然後在樣式表的底部,您可以包括這個

@media screen and (-webkit-min-device-pixel-ratio:0) { 
    Body { 
    font-size: 20px;  
    } 
} 

(參見Chrome conditional comments

該作品爲了我。但是其中一個副作用是重新調整相對大小的任何非文本元素,這可能會也可能不會是理想的。

6
<script> 

    if(navigator.userAgent.indexOf("Chrome") != -1) 
    { 
     var fontsize = "<style>body{font-size: 125%;}</style>"; 
    } 
    else if(navigator.userAgent.indexOf("Opera") != -1) 
    { 
     var fontsize = "<style>body{font-size: 100%;}</style>"; 
    } 
    else if(navigator.userAgent.indexOf("Firefox") != -1) 
    { 
     var fontsize = "<style>body{font-size: 100%;}</style>"; 
    } 
    else if((navigator.userAgent.indexOf("MSIE") != -1) || (!!document.documentMode == true)) //IF IE > 10 
    { 
     var fontsize = "<style>body {font-size: 100%;}</style>"; 
    } 
    else 
    { 
     var fontsize = "<style>body {font-size: 100%;}</style>"; 
    } 
    </script> 

<script>document.writeln(fontsize);</script>