2012-09-16 95 views
11

好的,我已經搜索了很多,只是提出了一些軼事證據,表明沒有推薦的標準行爲在CSS規範中用於精確浮點數。CSS百分比中的小數位

N.B.我不是在問關於well known sub-pixel rounding problem

我問的原因是,IE似乎將基於百分比的浮點值整理到2個小數位,而Webkit和Gecko允許至少3個或甚至更多(我沒有測試過)。

例如:

​​

當在Chrome的Web檢查或螢火蟲檢查,所述<li> s的正確顯示爲具有14.768%的寬度。但是,在IE開發工具(IE9/8/7模式)中,它們的寬度爲14.76%。這會導致實際的基於像素的值完全失效。

任何人都可以解釋這種行爲,或提供一個合適的解決方法嗎?如果可能的話,我寧願不必訴諸像素值,因爲內容需要是流體寬度。

我知道這很難處理這個小數位,但我很想知道這些瀏覽器中的哪一個(如果有的話)是「正確的」?

編輯

火狐似乎使用正確的百分比值的檢查(不四捨五入至小數點後2位)顯示時,但在實際像素擺放的位置上顯示的是相同的行爲IE。

+3

爲什麼你需要三位小數精度? –

+0

我寫了一個流體寬度響應旋轉木馬的插件。寬度和偏移全部通過將旋轉木馬項目的數量除以總數來完成,等等。不幸的是,這可能會導致寬度小數點後3位。 :/ –

+1

如果你發現自己在CSS中需要3位小數精度,那麼你做錯了什麼。 – AntonNiklasson

回答

4

有可能是你的問題很多解決方案,我建議這些:爲所有,但一個在2位小數自己

  1. 回合,比去年一個 總寬度減少。
  2. 使用tabledisplay: table,而不是 瀏覽器會自行修復寬度。