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が効かない問題の解決方法

推薦する

HTML の基礎: HTML コンテンツの詳細

まずは本体から始めましょう:ウェブページを閲覧するとき、最初に目に留まるのは通常、ページの背景です。...

太字の <b> と <strong> の違いの分析

私たちウェブマスターは皆、ウェブサイトを最適化する際に記事内のキーワードを太字にすることが最適化に非...

マウスを置いたときに半透明効果のテキスト説明を実現するための純粋な CSS (初心者は必読)

効果は以下のとおりです。 例1 例2:例1[結婚式の計画]を例にとるHTML: <div cl...

Reactは無限ループスクロール情報を実装する

この記事では、無限ループスクロールを実現するためのReactの具体的なコードを参考までに紹介します。...

Ubuntu 18.04で国内ソースを変更する方法の例

Ubuntu はソースが中国からなのでダウンロード速度が比較的遅いです。CentOS と異なり、yu...

$remote_addr に基づく nginx フロントエンド配布方法の詳細な説明

要件は次のとおりです。ドメイン名の下に複数のサーバーがあります。現在、特定の地域をテストしています。...

JavaScript ベースのシンプルなカルーセルの実装

この記事では、シンプルなカルーセルを実装するためのJavaScriptの具体的なコードを参考までに紹...

Dockerfileを使用してApacheイメージを作成する方法

目次1. Dockerイメージ2. 既存のイメージに基づいてインスタンスを作成する3. ローカルテン...

mysql8.0.11 winx64 インストールと設定のチュートリアル

mysql 8.0.11 winx64のインストールチュートリアルは以下のように記録され、みんなと共...

Linux resolv.conf の簡単な分析

1. はじめにresolv.conf は、さまざまなオペレーティング システムのドメイン ネーム シ...

...

CentOS 7.6 仮想ネットワーク カードのバッチ追加、変更、削除操作の紹介

1 カーネルにtunモジュールがあるかどうかを確認する modinfo tun modprobe t...

js 配列エントリ() 反復メソッドを取得する

目次1.entires() メソッドの詳細な構文2.entires() メソッドの一般的な使用法と注...

Centos7でポートを開く方法

CentOS7 のデフォルトのファイアウォールは iptables ではなく、firewalle で...

VMware ESXi 6.0 および仮想マシンのインストール チュートリアルの展開 (画像とテキスト)

社内には以前からアイドル状態だった、構成の整ったサーバーがあったので、EXSI 6.0 を使って複数...