IE6/7 で絶対配置された要素が不可解に消えたりブロックされたりする問題を解決する方法

IE6/7 で絶対配置された要素が不可解に消えたりブロックされたりする問題を解決する方法
1. 絶対配置レイヤーの隣接フローティング レイヤーの幅が親レイヤーの幅と等しくなく、フロートがクリアされていない場合、IE6/7 と FF で表示が一貫しています。
2. 絶対配置レイヤーの隣接するフローティング レイヤーの幅が親レイヤーの幅と等しくない場合、フロートがクリアされると、IE6/7 では絶対配置レイヤーが表示されませんが、FF では表示されます。
3. 絶対配置レイヤーの隣接フローティング レイヤーの幅が親レイヤーの幅と等しく、フローティングがクリアされていない場合、IE6 では絶対配置レイヤーが表示されませんが、IE7/FF では表示されます。
4. 絶対配置レイヤーの隣接フローティング レイヤーの幅が親レイヤーの幅と等しい場合、フロートがクリアされると、IE6/7 では絶対配置レイヤーが表示されませんが、FF では表示されます。

このバグの解決方法は非常に簡単です。絶対配置レイヤーがフローティング レイヤーの隣に配置されていないことを確認するだけです。絶対配置要素と他の要素の間に空の div を追加するという、さらに簡単な方法もあります。
絶対配置された要素が不思議に消えてブロックされる現象を見てみましょう。まず、関連するいくつかの配置機能を理解しましょう。
1. 相対的に配置された要素のデフォルトの z-index 値は 0 です。
2. 相対配置が 2 つ同時に出現した場合、後のコードの z-index が優先されます。
3. 子は親によって設定された z-index に従います。子が絶対位置と z-index を設定すると、親を突破して表示できます。次のコードを参照してください。

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

<div style=”位置:相対; 背景:#FF0000; 幅:200px; 高さ:100px;”>
<div style="position:absolute; background:#FFFF00; width:49px; height:50px; left:106px; top:310px; z-index:100"></div>
</div>
<div style=”位置:相対; 背景:#000000; 幅:200px; 高さ:100px;”></div>
<div style=”位置:相対; 背景:#9900FF; 幅:200px; 高さ:100px;”></div>

コードの説明: 上には 3 つの隣接する相対配置レイヤーがあります。最初のレイヤーに対して絶対配置のレイヤーが追加されます。理論上、この絶対配置要素は 3 つの相対配置要素の上にあります。ただし、実際には表示されません。 z-index 値を設定しても効果はありません。
インターネット上のこのバグの解決策は、一般的に、ハックを使用して B を負の値にして、IE での B のレベルを下げることです。ただし、この方法では、z-index が負の場合に新しい IE バグが発生します。配置の特性に応じて、この IE バグを回避できます。
表面的には、下のレイヤーが絶対配置された上のレイヤーを覆っています。実際、下のレイヤーは絶対配置された親レイヤーを覆っています。親レイヤーの z-index を、その後ろのレイヤーの z-index よりも大きく設定するだけで済みます。

<<:  CSS で中空マスク レイヤーを実装するサンプル コード

>>:  MySQLサブクエリでorder byが効かない問題の解決方法

推薦する

MySQL の分離レベル、ロック、MVCC の紹介

この記事の目的は、これらの概念とその機能の関係を明らかにすることです。 Mysql がトランザクショ...

Linux のさまざまなロックメカニズムの使用方法と違いについて詳しく説明します

序文:この知識を理解する必要がある人は、すでにプロセス間通信とスレッド間通信の基本的な理解を持ってい...

Web2.0: 情報過多の原因と解決策

<br />情報の重複、情報過多、情報強迫、パーソナライズされたカスタマイズ、検索エンジ...

Adobe Brackets の簡単な使い方のグラフィックチュートリアル

Adobe Brackets は、HTML、CSS、JavaScript 用のオープンソースでシンプ...

VantフレームワークをWeChatアプレットに導入するプロセス全体の記録

序文WeChat ミニプログラムのネイティブ UI が少し物足りないと感じることがあるので、サードパ...

MySQLのデフォルトのソートルールに基づく落とし穴

MySQL のデフォルトの varchar 型は大文字と小文字を区別しません (insensitiv...

IE10以下のimgタグ問題の解決方法

問題を見つける以前、簡単なデモを書いたのですが、IE10以下では動作しないことがわかりました。ここに...

MySQLの自動増分主キーIDはこのように処理されません

MySQLの自動増分主キーIDは段階的に増加しません1. はじめにMySQL データベースにデータを...

Dockerのインストール、イメージの作成、NodeJSプログラムの読み込みと実行の詳細なプロセス

システム環境: Windows 7 1. DockerをインストールするDocker公式サイトからd...

ファイル書き込みを使用して Linux アプリケーションをデバッグする方法

Linux ではすべてがファイルなので、Android システム自体は Linux + Java だ...

VMware 仮想マシンでの CentOS7 ネットワーク構成 (ホストのワイヤレス インターネット アクセス)

CentOS7 システムを使用するのは今回が初めてで、ネットワーク構成を行う際に多くの問題が発生し...

mysql5.7.17 zip の解凍とインストールの詳細な手順

1. ダウンロードアドレスhttps://dev.mysql.com/downloads/mysql...

Linux で Apache を使用してファイル サーバーを構築する手順

1. ファイルサーバーについてプロジェクトでは、公開ソフトウェアやデータをプロジェクト チーム メン...

after疑似要素を使用して中空の三角矢印とXアイコンを実装する例

フロントエンドのデザイン案では、「X」や「>」の形をした閉じるボタンや、他の 3 方向の白抜き...

js に基づいて大きなファイルのアップロードとブレークポイントの再開を管理する方法

目次序文フロントエンド構造バックエンド構造(ノード+エクスプレス) FormDataに基づくファイル...