13

フォームに次のような要素があります。

<div style="overflow-y:auto;overflow-x:hidden;height:100%;width:100%">

IE7 では、ページが最初にレンダリングされるとき、スクロールバーはありません。ただし、ページのサイズを変更すると (1 ピクセルでも)、スクロール バーが正しく表示されます。

ページが最初に表示されたときにスクロールバーが正しく表示されるようにできることはありますか?

4

6 に答える 6

11

常にスクロールバーが必要な場合は、overflow-y を「scroll」に設定します。

于 2009-08-13T17:21:46.490 に答える
6

これは、IE6およびIE7のhasLayoutバグに起因する種類の問題です。IEがページをレンダリングする方法に影響します。この問題を取り除くには、hasLayoutの動作とそのハックに関するこのすばらしいページを読むことを検討する必要があります。公式のMicrosofthasLayout専用ページもあります。

提案されているハックはheight: 0;zoom: 1;ターゲットにするIEのバージョンと要素のタイプによって異なります。

于 2011-02-16T00:24:48.217 に答える
2

スタイルに margin-right: 20px を追加して、スクロールバーが十分に表示されるようにします。

于 2009-09-19T22:41:06.593 に答える
2

オーバーフロー: スクロールを使用すると、ロード時にスクロールバーが消えるという問題が修正されました。私のテーブルは動的に作成され、開始するのに十分なデータがあるため、ページが読み込まれると自動的にスクロールするはずです。

他の変更を加える必要はありませんでした。現在、IE7、IE8、および FF の 3 つのブラウザすべてで動作します。

于 2011-04-12T17:53:03.013 に答える
1

Internet Explorer 9現在のスクリプトがそこで機能するかどうかを試してみてください。ほとんどの場合、そこで動作します。もしそうなら、 7 などの Internet Explorer の以前のバージョンとすべて互換性を持たせたいという内なる欲求を再考するかもしれません。

Chrome と FireFox がオーディエンスを IE から高速に奪い取っているため、そのような質問が時代遅れになるのは時間の問題だと私は予測しています...

于 2011-02-16T18:55:36.287 に答える
1

サイズ変更時に絶対幅と高さを試してみてください

于 2011-04-06T16:05:06.207 に答える