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コンポーネント機能を実装します

推薦する

Tomcat8はcronologを使用してCatalina.Outログを分割します

背景tomcat によって生成された catalina.out ログ ファイルが分割されていない場合...

mysql5.6.8 ソースコードのインストールプロセス

カーネル: [root@opop ~]# cat /etc/centos-release CentO...

CocosCreator Typescriptでテトリスゲームを作る

目次1. はじめに2. 解決すべきいくつかの重要な問題3.最後に書く1. はじめに最近、Cocos ...

Centos7 に MySQL 8.0.23 をインストールする手順 (初心者レベル)

まず、MySQL とは何かを簡単に紹介します。簡単に言えば、データベースはデータを格納するための倉庫...

経験豊富な人が、プロフェッショナルで標準化されたMySQL起動スクリプトの開発方法を紹介します。

シェル スクリプト言語は、すべてのプログラミング言語の中で最も単純な言語であるため、資格のある Li...

MySQLデータベースバックアップのさまざまな実装方法の概要

この記事では、MySQL データベースのバックアップを実装するさまざまな方法について説明します。ご参...

Oracle10パーティションとMySQLパーティションの違いの詳細な説明

一般的に使用される Oracle10g パーティションは、範囲 (範囲パーティション)、リスト (リ...

element.style インライン スタイルを変更する方法のチュートリアル

序文上記の Web ページ スタイルを記述しているときに、スタイルの値をどのように変更しても、ページ...

純粋な JS を使用して vue.js で双方向バインディング機能を実装する方法

目次まず、双方向バインディングを実装するアイデアについて説明します。これらの機能を実装するための j...

Linux でファイルを削除するときに「操作は許可されていません」というプロンプトが表示される場合の対処方法

同僚からよく聞かれるのですが、ファイル/ディレクトリを削除すると「操作は許可されていません」というエ...

HTML テーブルに複雑なテーブル ヘッダーを実装するためのサンプル コード

複雑な表を作成するには HTML を使用します。複雑なテーブルでは通常、td の rowspan 属...

Linuxのlocateコマンドの使い方

01. コマンドの概要実際には、locate コマンドは find -name の別の書き方ですが、...

有名なブログの再設計例 28 件

1. Webデザイナーウォール 2. Veerleのブログ 3. チュートリアル9 4. UXブース...

CSS マルチカラムレイアウトソリューション

1. 固定幅+適応型期待される効果: 左側は固定幅、右側は適応幅 共通コード: html: <...

CSS3 疑似クラスセレクターの簡単なレビュー

序文CSS がフロントエンド開発の基本的なスキルであるならば、「セレクター」は基礎中の基礎です。これ...