19

OK、広く検索した結果、浮動小数点数の精度に関して CSS 仕様に推奨される標準動作がないことを示唆する事例証拠にすぎません。

注意: よく知られているサブピクセルの丸め問題について質問しているわけではありません。

私が質問している理由は、IE はパーセンテージベースの浮動小数点値を小数点以下 2 桁に丸めるように見えるのに対し、Webkit と Gecko は少なくとも 3 桁、またはそれ以上を許容するためです (私はテストしていません)。

例えば:

li {
    width: 14.768%;
}

Chrome の Web Inspector または Firebug で検査する<li>と、 の幅が 14.768% であることが正しく表示されます。ただし、IE 開発ツール (IE9/8/7 モード) では、14.76% の幅があります。これにより、実際のピクセルベースの値も完全に失われます。

誰でもこの動作に光を当てたり、適切な回避策を提供したりできますか? コンテンツは流動的な幅である必要があるため、可能であればピクセルベースの値に頼る必要はありません。

このように多くの小数点以下の桁数を処理するのは非常に危険なことは知っていますが、これらのブラウザーのどれが「正しい」かを知りたいと思いますか?

編集

Firefoxは、インスペクターに表示されたときに正しいパーセンテージ値を使用しているように見えますが (小数点以下 2 桁に丸められていません)、実際のピクセル配置に関しては IE と同じ動作を表示しています。

4

2 に答える 2

5

あなたの問題にはおそらく多くの解決策があります、私はこれらを提案します:

  1. 最後の1つの全幅から減らすよりも、1つを除くすべての小数点以下2桁を自分で丸めます。
  2. tableまたはを使用するdisplay: tableと、ブラウザが自動的に幅を修正します。
于 2012-10-27T20:23:12.737 に答える