CSS3 で z-index が効かない問題の解決方法

CSS3 で z-index が効かない問題の解決方法

最近、CSS3 と js の組み合わせを作成したのですが、z-index が有効にならないケースが多数発生しました。

1. z-indexを使用する場合、要素には配置がありません(静的配置を除く)

2. 配置の場合、要素の子要素が後から来て要素を覆ってしまうため、要素の z-index は有効になりません。解決方法は、要素を覆っている子要素の z-index を負の数に設定することです。

ドロップダウンボックスの例:

1. カバーする場合:

2. ドロップダウンボックスのZインデックスを負の数に設定する

コード:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<ヘッド>
<meta http-equiv="コンテンツタイプ" コンテンツ="text/html; charset=utf-8">
<title>無題のドキュメント</title>
<スタイル タイプ="text/css">
* {
    パディング: 0;
    マージン: 0;
    リストスタイル: なし;
}
。全て {
    幅: 330ピクセル;
    高さ: 120px;
    オーバーフロー: 非表示;
    背景: url(img/bg.jpg) 繰り返しなし;
    マージン: 100px 自動;
    行の高さ: 30px;
    テキスト配置: 中央;
    左パディング: 10px;
    下マージン: 0;
}
.all ul {
    位置: 相対的;
    高さ: 30px;
    幅: 100%;
}
.all ul li {
    幅: 100ピクセル;
    高さ: 30px;
    背景: url(img/libg.jpg);
    フロート: 左;
    右マージン: 10px;
    位置: 相対的;
    カーソル: ポインタ;

}
.all ul ul {
    位置: 絶対;
    左: 0;
    上:-90px;
    /*display: none; 一瞬の問題です*/
    遷移: すべて 1;
    不透明度: 0;
    /* 前のボックスの z-index が大きい場合でも、後のボックスは前のボックスを覆います。
    ただし、後続のボックスのZインデックスを負の数に設定することもできます*/
    zインデックス:-1;

}

.all ul .lvTow {
    上:-90px;
    不透明度: 0;
}

.all ul .show{
    上:30px;
    不透明度: 1;
}

</スタイル>
</head>

<本文>
<div class="all" id="リスト">
    <ul>
        <li>第一レベルメニュー<ul>
                <li>セカンダリメニュー</li>
                <li>セカンダリメニュー</li>
                <li>セカンダリメニュー</li>
            </ul>
        </li>
        <li>第一レベルメニュー<ul>
                <li>セカンダリメニュー</li>
                <li>セカンダリメニュー</li>
                <li>セカンダリメニュー</li>
            </ul>
        </li>
        <li>第一レベルメニュー<ul>
                <li>セカンダリメニュー</li>
                <li>セカンダリメニュー</li>
                <li>セカンダリメニュー</li>
            </ul>
        </li>
    </ul>
</div>
</本文>
</html>
<スクリプト>
    // オブジェクトを取得する オブジェクトをトラバースする 操作 モジュールを表示する モジュールを非表示にする function List(id) { // オブジェクトを取得する this.id = document.getElementById(id);
        // id値を取得します this.lis = this.id.children[0].children; // 第1レベルメニュー内のすべてのliを取得します
    }
    // init 初期化 List.prototype.init = function() { // すべての li を走査して表示と非表示を切り替える var that = this;
        for(var i=0;i<this.lis.length;i++)
        {
            this.lis[i].index = i;
            this.lis[i].onmouseover = 関数() {
                that.show(this.children[0]); //表示する }
            this.lis[i].onmouseout = 関数() {
                that.hide(this.children[0]); // 非表示にする }
        }
    }
    // 表示モジュール List.prototype.show = function(obj) {
// obj.style.display = "ブロック";
        obj.className = "表示";

    }
    //モジュールを非表示 List.prototype.hide = function(obj) {
// obj.style.display = "なし";
        obj.className = "lvTow";
    }
    var list = new List("list"); // listというオブジェクトをインスタンス化します
    リストを初期化します。
</スクリプト>

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  HTML ベースタグ target=_parent の使用の紹介

>>:  MySQLのネクストキーロックのロック範囲についての簡単な説明

推薦する

CentOS 6.5 i386 インストール MySQL 5.7.18 詳細チュートリアル

ほとんどの人はMySQLをコンパイルしてシステムディレクトリに置きますが、私のやり方はコンパイルした...

Dockerはbusyboxを使用してベースイメージを作成します

Docker イメージの最初の行は FROM alpine などのイメージで始まりますが、最初のベー...

フロントエンドページのスライド検証を実装するための JavaScript + HTML (2)

この記事の例では、クールなフロントエンドページのスライド検証の具体的なコードを参考までに共有していま...

MySQLで置換関数を実装するためのいくつかの実用的なシナリオ

REPLACE構文REPLACE(String,from_str,to_str)つまり、String...

MySQL における := と = の違いをグラフィカルに紹介

:= と = の違い=設定および更新の場合にのみ、:= と同じ効果、つまり代入効果があり、それ以外の...

jQuery で従業員管理登録ページを実装する

この記事では、従業員管理登録ページを実装するためのjQueryの具体的なコードを例として紹介します。...

Dockerがプライベート倉庫Harborを構築する手順

港Harborは、エンタープライズレベルのプライベートDockerイメージリポジトリを構築するための...

Dayjs を使用して Vue で一般的な日付を計算する方法

vue を使用してプロジェクトを開発する場合、フロントエンドでは次のような日付と時刻を計算する必要が...

JavaScript 高度なカスタム例外

目次1. コンセプト1.1 エラーと例外とは何ですか? 1.2 異常の分類2. 例外処理2.1try...

Nginx 1つのドメイン名で複数のプロジェクトにアクセスする方法の例

背景最近、複数のプロジェクトを展開する際に、1 つのドメイン名で複数のプロジェクトにアクセスする方法...

ネイティブJSでマウススライドによる愛の拡散効果を実現

この記事では、マウスをスライドすると愛が広がる js 特殊効果を紹介します。効果は次のとおりです。 ...

dockerカスタムイメージでphp7をビルドする方法

まず、簡単な Docker インストールを実行します。イメージをカスタマイズするには、ベースイメージ...

Tomcat マルチインスタンスの展開と構成の原則

1. ファイアウォールをオフにし、Tomcatのインストールに必要なソフトウェアパッケージを/opt...

MySQL がテーブルを読み取れないエラー (MySQL 1018 エラー) の解決方法

1. エラーの再現MySQL データベースにはアクセスできますが、データベース テーブルを読み取るこ...

CSS 属性値正規マッチングセレクターの使い方 (ヒント)

属性値の正規一致セレクターには 3 つの種類があります。 [属性^="値"] [...