最近、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のネクストキーロックのロック範囲についての簡単な説明
コンテンツ属性は通常、::before および ::after 疑似要素で使用され、疑似要素のコンテ...
WeChatミニプログラムはますます人気が高まっています。多くの大学生が独学で学んでいるのも見てきま...
目次グローバル共有コンテンツファイルを作成するファイルをインポートしてグローバルに登録するページ共有...
MySQL パーティションテーブルの概要数億、あるいは数十億ものレコードを格納するテーブルに遭遇する...
過去に別れを告げるvscode にリモート SSH が導入される前は、Linux サーバー開発者の多...
この記事では、例を使用して、MySQL ストアド プロシージャでのループ ステートメント (WHIL...
ドロップテーブルドロップはテーブル情報を直接削除するため、最も高速ですが、データを取得することはでき...
問題を見つける最近、MySQL コマンドを使用して MySQL サーバーに接続したときに、以下のよう...
データベースストアドプロシージャ`generate_serial_number_by_date` が...
プロジェクトで frameset 属性を使用したことがあるかどうかはわかりません。昨年、オンライン ...
Linux システムを使用したことがある人なら、Linux システムの ls コマンドは通常、ファイ...
需要シナリオ: 既存の PXC 環境には大量のデータがあります。新しく購入したサーバーをこのクラスタ...
この記事では、WeChatアプレットでビデオプレーヤーの集中砲火を実装するための具体的なコードを参考...
現在、MySQL を学習中です。私は完全な初心者で、Linux についてはあまり知りません。今後の作...
コンテナのIPアドレスを表示するdocker examine <コンテナ名またはID> ...