フォームに次のような要素があります。
<div style="overflow-y:auto;overflow-x:hidden;height:100%;width:100%">
IE7 では、ページが最初にレンダリングされるとき、スクロールバーはありません。ただし、ページのサイズを変更すると (1 ピクセルでも)、スクロール バーが正しく表示されます。
ページが最初に表示されたときにスクロールバーが正しく表示されるようにできることはありますか?
フォームに次のような要素があります。
<div style="overflow-y:auto;overflow-x:hidden;height:100%;width:100%">
IE7 では、ページが最初にレンダリングされるとき、スクロールバーはありません。ただし、ページのサイズを変更すると (1 ピクセルでも)、スクロール バーが正しく表示されます。
ページが最初に表示されたときにスクロールバーが正しく表示されるようにできることはありますか?
常にスクロールバーが必要な場合は、overflow-y を「scroll」に設定します。
これは、IE6およびIE7のhasLayoutバグに起因する種類の問題です。IEがページをレンダリングする方法に影響します。この問題を取り除くには、hasLayoutの動作とそのハックに関するこのすばらしいページを読むことを検討する必要があります。公式のMicrosofthasLayout専用ページもあります。
提案されているハックはheight: 0;
、zoom: 1;
ターゲットにするIEのバージョンと要素のタイプによって異なります。
スタイルに margin-right: 20px を追加して、スクロールバーが十分に表示されるようにします。
オーバーフロー: スクロールを使用すると、ロード時にスクロールバーが消えるという問題が修正されました。私のテーブルは動的に作成され、開始するのに十分なデータがあるため、ページが読み込まれると自動的にスクロールするはずです。
他の変更を加える必要はありませんでした。現在、IE7、IE8、および FF の 3 つのブラウザすべてで動作します。
Internet Explorer 9
現在のスクリプトがそこで機能するかどうかを試してみてください。ほとんどの場合、そこで動作します。もしそうなら、 7 などの Internet Explorer の以前のバージョンとすべて互換性を持たせたいという内なる欲求を再考するかもしれません。
Chrome と FireFox がオーディエンスを IE から高速に奪い取っているため、そのような質問が時代遅れになるのは時間の問題だと私は予測しています...
サイズ変更時に絶対幅と高さを試してみてください