IE6 の iframe の水平スクロール バーの解決策

IE6 の iframe の水平スクロール バーの解決策
状況は以下のとおりです: (PS: 赤いボックスは iframe 領域を表し、灰色の四角形は上記の width:100% 要素を表します。効果を確認するには IE6 を使用する必要があります。)
灰色のボックスの高さが iframe の高さより大きい場合、垂直および水平のスクロール バーが表示されます (IE6 の場合)。

灰色のボックスの高さが iframe の高さよりも小さい場合、効果は正常です。

解決策 1: 内部ページにスタイルを追加します: html { overflow-y: scroll; }
灰色のボックスの高さが iframe の高さより大きい場合、垂直スクロール バーのみが表示され、効果は正しくなります。

灰色のボックスの高さが iframe の高さよりも小さい場合、垂直スクロール バーは引き続き表示されます (使用不可)。これは欠陥です。

解決策 2: 内部ページにスタイルを追加します: html { overflow-x: hidden; overflow-y: auto; }
灰色のボックスの高さが iframe の高さより大きい場合、垂直スクロール バーのみが表示されますが、右側のコンテンツが完全に表示されません (PS: 内部のテキストは「これは高さ 200 px の div です」)。そのため、効果が正しくありません。

灰色のボックスの高さが iframe の高さより小さい場合、スクロール バーは表示されず、効果は正しくなります。


解決策 3: 何度も試行錯誤しましたが、完璧な純粋な CSS ソリューションはまだ見つかっておらず、最も完璧な効果を追求しています。純粋な CSS では問題を解決できないため、JS を使用する必要があります。以前のテストを通じて、灰色のボックスの高さが iframe の高さよりも小さい場合は、正しい効果を得るために処理は必要なく、灰色のボックスの高さが iframe の高さよりも大きい場合は、ソリューション 1 が最適であることがわかりました。したがって、私たちの js には次のようなアイデアがあります。ブラウザが IE6 で、コンテンツの高さが iframe よりも高い場合は、ソリューション 1 のスタイルを html タグに追加します。以下は jQuery コードです (jQuery がなくても考え方は同じです)。

コードをコピー
コードは次のとおりです。

$(関数(){
if($.browser.msie&&$.browser.version=="6.0"&&$("html")[0].scrollHeight>$("html").height()) $("html").css("overflowY","scroll");
});

灰色のボックスの高さが iframe の高さより大きい場合、垂直スクロール バーのみが表示され、効果は正しくなります。
灰色のボックスの高さが iframe の高さよりも小さい場合、効果は正しくなります。
毎日幸せになることを学ぶ(:

<<:  フレームウィンドウ間の関連付けとハイパーリンクのターゲット属性の使用を実装する方法

>>:  CSSはメッセージパネルをスライドするWebコンポーネント機能を実装します

推薦する

Reactコンポーネントのライフサイクルの詳細な説明

目次1.ライフサイクルとは何か2. 読み込みプロセス1.コンストラクタ2. レンダリング3. コンポ...

特定の部門 ID に基づいて、すべての下位レベルの複数レベルのサブ部門を照会する MySQL の例

シミュレーションテーブルとデータスクリプト次の SQL ステートメントをコピーして、sys_dept...

Vue プロジェクトに ECharts を導入する

目次1. インストール2. はじめに3. 使用4. 必要に応じてEChartsチャートとコンポーネン...

JSは星を消すケースを実現する

この記事の例では、星を消すためのJSの具体的なコードを参考までに共有しています。具体的な内容は次のと...

Vue で AES.js を使用する詳細な手順

AES暗号化の使用データ転送の暗号化と復号化処理 --- AES.js最初のステップ: vue に ...

CocosCreator ユニバーサルフレームワークデザインネットワーク

目次序文Websocketの使用Websocketオブジェクトの構築Websocket ステータスW...

mysql 8.0.12 winx64 のダウンロードとインストールのチュートリアル

MySQL 8.0.12のダウンロードとインストールのチュートリアルは参考までに、具体的な内容は次の...

Vue におけるキープアライブ マルチレベル ルーティング キャッシュの問題

目次1. 問題の説明2. 原因分析3. 解決策4. 処理1. 問題の説明調整センターでは、最後の 2...

Vueルーティングはページステータスを復元する操作メソッドを返します

ルートパラメータ、ルートナビゲーションガード: ページが戻ったときに検索結果を保持する需要シナリオ:...

Ubuntuのインストール Matlab2020b の詳細なチュートリアルとリソース

目次1. リソースファイル2. インストール2.1 詳細な手順2.1.1 ディスクイメージのマウント...

Vue.js アプリケーションのパフォーマンス最適化分析 + ソリューション

目次1. はじめに2. Vue JS のパフォーマンス最適化が必要な理由は何ですか? 3. Vueの...

シンプルなカルーセル効果を実現するネイティブ js

この記事では、シンプルなカルーセル効果を実現するためのjsの具体的なコードを参考までに紹介します。具...

面接の質問: 3 行 3 列のレイアウト、表は結合され、ネストされた表は許可されません

面接の質問で、3 行 3 列のレイアウトが求められます。1 行目の 2 番目の列と 2 行目の 2 ...

VueとReactの詳細

目次1. パノラマII. 背景1. 反応: プロフェッショナル2. ビュー: 凡例3. 技術的な思考...