Internet Explorer 6 で CSS プロパティの min-width を模倣する決定的な方法は何ですか? 試さないほうがいいですか?
11 に答える
foo { min-width: 100px } // for everyone
* html foo { width: 100px } // just for IE
(または、条件付きコメントを使用して別のスタイルシートを IE に提供します)
式を使用することもできますが (HBoss で提案されているように)、パフォーマンスが心配な場合は、min-width を適用する要素内にシムを追加するのが最善の方法です。
<div id="container">
The "shim" div will hold the container div open to at least 500px!
You should be able to put it anywhere in the container div.
<div class="shim"> </div>
</div>
#container .shim {
width: 500px;
height: 0;
line-height: 0;
}
これには少し非セマンティックなマークアップが必要ですが、真にクロスブラウザー ソリューションであり、式を使用するオーバーヘッドは必要ありません。
私は先月ここで与えられたすべての答えをいじりました。そして、Pretaulの方法(MSIE 6の最小幅)で遊んだ後、それは最小幅の最良の代替手段のようです。ハッキングなどはありません。実装に30秒かかる準拠したCSSコードをそのまま使用します。
グーグルの周りから、表現が最も人気があるようです。とにかく、私にとっては、ブラウザ(IEとFFの両方)をランダムにロックする傾向がありました。
Stu Nicholls による CSS Play に関するこの記事では、IE、すべてのモード (Quirks など)、さらには IE/Mac で最小幅を達成するためのさまざまな方法を示しています。
私は知りません、私はいくつかの成功を収めました:
min-width: 193px;
width:auto !important;
_width: 193px; /* IE6 hack */
ダスティン ディアスの min-height fast hack とHTML または CSS でテーブル セルの絶対最小幅を指定する方法の組み合わせ
最小高さの高速ハックは私にとってはうまくいきます(幅でもうまくいきます)
これはかなりうまくいきます...
div.container {
min-width: 760px;
width:expression(document.body.clientWidth < 760? "760px": "auto" );
}
単線ボタン
button{
background-color:#069;
float:left;
min-width:200px;
width:auto !important;
width:200px;
white-space: nowrap}
shim の例は、コンテナーが特定のサイズになったときにブラウザーに水平スクロール バーを強制的に表示させるのに適していますが、ウィンドウが小さくなるとコンテナー内のコンテンツのサイズが変更されることに気付くでしょう。IE 6 で最小幅を達成しようとするとき、これは全体的な目標ではないと思います。
不完全な最小幅テクニック http://www.mediafire.com/imgbnc.php/260264acec99b5aba3e77c1c4cdc54e94g.jpg
さらに、式やその他のクレイジーな CSS ハックを使用することは、良い習慣ではありません。それらは危険で汚れています。この記事では、CSS ハッキングの警告と、それらを完全に回避する必要がある理由について説明します。
個人的には、IE6 で真の最小幅を実現するための最良のアドバイスは、scaryjeff の投稿だと考えています。また、経験豊富な CSS レイアウト開発者として、この種の問題に適用できるより良い解決策をまだ見つけていません。
Stu Nicholls による CSS Play に関するこの記事では、IE、すべてのモード (Quirks など)、さらには IE/Mac で最小幅を達成するためのさまざまな方法を示しています。
この手法を使用して最小幅を正しく達成する方法を詳しく説明する同様の質問への回答を提供しました。ここで見ることができます:
この手法は、ほぼすべての状況で使用できるシンプルで有効な CSS です。上記のシムの例に適用すると、正しい最小幅機能であると私が考えるものになります。
正しい最小幅テクニック http://www.mediafire.com/imgbnc.php/a67b2820bfbd6a5b588bea23c4c0462f4g.jpg
css タグを _Width: 500px などにします。
条件付きコメントを使用して MSIE 6 固有のスタイル シートを参照し、以下のように CSS を作成します。
準拠ブラウザは以下を使用します。
min-width: 660px;
次に、MSIE 6 は以下を使用します。
width: expression((document.body.clientWidth < 659)? "660px" : "auto");