HTML/CSS の幅を 100% ではなく 99.9% に設定するのはなぜですか?

StackOverflow https://stackoverflow.com/questions/3839397

  •  27-09-2019
  •  | 
  •  

質問

多くの開発者が、私なら 100% を使用する場所に 99.9% の HTML または CSS インライン スタイル幅を記述しているのを見てきました。99.9% を使用する正当な理由はありますか?100%と効果に違いはありますか?

MSalters の非常に良い質問をリツイートするために編集してください: Considering that 99.9% is one pixel off above 500 pixels, why not 99.99%? 彼の言うことは正しいと思います。 dirty hack 99.99% を使用する必要があります。反対する人はいますか?

追加の参考資料:

役に立ちましたか?

解決

hasLayout 財産

これは IE 固有の設定に使用される汚いハックです hasLayout 要素のプロパティを true に設定します。の hasLayout プロパティは、「要素がコンテンツを描画およびバインドする方法、他の要素との相互作用と関連付け、アプリケーション/ユーザーイベントに対する反応と送信の方法を決定します。」要素を与える layout これは、Internet Explorer に発生するレイアウト関連の多くのバグを修正する簡単な方法です。

99.9%ってどういうこと?

幅を 99.9% に設定することは、それをトリガーする 1 つの方法です。99.9% を使用する理由は、要素にレイアウトが与えられるためです。 width 以外に設定されています auto. 。パーセンテージに設定すると、固定幅を使用する必要がなくなります。

jsFiddle でいくつかのテストを行った結果、99.9% の幅を使用する必要はなく、100% の幅を使用しても同様に効果的であるという結論に達しました。 http://jsfiddle.net/3qfjW/2/ (IE のみ)。という設定らしいです width 99.9%までは よくある誤解 固まったのは.. 人々に言葉を広めてください。

その他の方法

トリガーすることもできます hasLayout 使用して zoom: 1; これは、要素の他のスタイル関連機能を混乱させないため、多くの人にとって推奨される方法ですが、無効な CSS コードでもあるため、一部の開発者にとっては使用できないオプションです。


参考文献

トリガーするその他のメソッドについては hasLayout チェックアウト: http://www.satzansatz.de/cssd/onhavinglayout.html

詳細については、 hasLayout プロパティについては、MSDN の記事を参照してください。 hasLayout http://msdn.microsoft.com/en-us/library/bb250481(VS.85).aspx (これは実に読み応えがあり、詳細な情報がたくさんあります)

他のヒント

これは何もなく、widthautoトリガーhasLayoutの真zoomだし、それが幅を台無しにしないためzoomは、より柔軟なプロパティ/値であるが、私はそれはあなたが開発者が99.9%を使用しまし理由はないと思いますます。

IE6が誤って計算されるため、

は、特定のフローティングの場合において、(パーセンテージで指定されている場合)フロートの組み合わせ幅が100%にならないことが必要だと、通常、後者のフロートが低下し、100%を超えたように

ソリューションは、単にIE用-1px右マージンを指定するか、合計99.99%にするのいずれかです。

私はバグを文書化しているここを。だから、それはあなたが見ていたものに関連しているかどうか、バグのリンクはそれを経験して誰にも役立ちます願っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top