マウスを動かしたときにセカンダリメニューバーを実装するために HTML+CSS を使用する例

マウスを動かしたときにセカンダリメニューバーを実装するために HTML+CSS を使用する例

この記事では、マウスを動かしたときにセカンダリ メニュー バーを実装するために HTML+CSS を使用する例を紹介します。詳細は次のとおりです。

まず、効果画像:

1. マウスがそこにない

2. マウスを第1レベルのメニューに置いて第2レベルのメニューを展開します。

3. マウスをセカンダリメニューに置きます

コード:

<html>
<ヘッド>
    <title>セカンダリメニューのテスト</title>
    <メタ文字セット="utf-8">
    <スタイル タイプ="text/css">

    /*メニューを中央に配置する*/
    体 {
        パディング上部:100px;
        テキスト配置:中央; 
    }
    
    
    /* -------------メニュー CSS コード-----------begin----------- */
    .menuDiv { 
        境界線: 2px 実線 #aac; 
        オーバーフロー: 非表示; 
        表示:インラインブロック;
    }
    
    /* a タグの下線を削除します*/
    .menuDiv {
        テキスト装飾: なし;
    }
    
    /* ul と li のスタイルを設定します */
    .menuDiv ul、.menuDiv li {
        リストスタイル: なし;
        マージン: 0;
        パディング: 0;
        フロート: 左;
    } 
    
    /* セカンダリメニューを絶対位置に設定して非表示にする*/
    .menuDiv > ul > li > ul {
        位置: 絶対;
        表示: なし;
    }

    /* セカンダリメニューの li のスタイルを設定します */
    .menuDiv > ul > li > ul > li {
        フロート: なし;
    }
  
    /* マウスを第 1 レベルのメニューに置くと、第 2 レベルのメニューが表示されます */
    .menuDiv > ul > li:hover ul {
        表示: ブロック;
    }

    /* 最初のレベルのメニュー */
    .menuDiv > ul > li > a {
        幅: 120ピクセル;
        行の高さ: 40px;
        色: 黒;
        背景色: #cfe;
        テキスト配置: 中央;
        左境界線: 1px 実線 #bbf;
        表示: ブロック;
    }
    
    /* 最初のレベルのメニューでは、左の境界線を設定しません */
    .menuDiv > ul > li:first-child > a {
        左境界線: なし;
    }

    /* 最初のレベルのメニューで、マウスのスタイル*/
    .menuDiv > ul > li > a:hover {
        色: #f0f;
        背景色: #bcf;
    }

    /* セカンダリメニュー */
    .menuDiv > ul > li > ul > li > a {
        幅: 120ピクセル;
        行の高さ: 36px;
        色: #456;
        背景色: #eff;
        テキスト配置: 中央;
        境界線: 1px 実線 #ccc;
        上境界線: なし;
        表示: ブロック;
    }
    
    /* セカンダリメニューでは、最初のメニューで上部の境界線を設定します*/
    .menuDiv > ul > li > ul > li:first-child > a {
        上境界線: 1px 実線 #ccc;
    }
    
    /* セカンダリメニューでマウスのスタイル*/
    .menuDiv > ul > li > ul > li > a:hover {
        色: #a4f;
        背景色: #cdf;
    }
    /* -------------メニュー CSS コード-----------終了----------- */
    
    </スタイル>
</head>
<本文>

    <!-- -------メニュー HTML コード----------開始------- -->
    <div class="menuDiv">
        <ul>
            <li>
                <a href="#">メニュー 1</a>
                <ul>
                    <li><a href="#">セカンダリメニュー</a></li>
                    <li><a href="#">セカンダリメニュー</a></li>
                    <li><a href="#">セカンダリメニュー</a></li>
                </ul>
            </li> 
            <li>
                <a href="#">メニュー 2</a>
                <ul>
                    <li><a href="#">セカンダリメニュー</a></li>
                    <li><a href="#">セカンダリメニュー</a></li>
                </ul>
            </li> 
            <li>
                <a href="#">メニュー 3</a>
                <ul>
                    <li><a href="#">セカンダリメニュー</a></li>
                    <li><a href="#">セカンダリメニュー</a></li>
                    <li><a href="#">セカンダリメニュー</a></li>
                    <li><a href="#">セカンダリメニュー</a></li>
                    <li><a href="#">セカンダリメニュー</a></li>
                </ul>
            </li> 
            <li>
                <a href="#">メニュー 4</a>
            </li> 
            <li>
                <a href="#">メニュー 5</a>
                <ul>
                    <li><a href="#">セカンダリメニュー</a></li>
                    <li><a href="#">セカンダリメニュー</a></li>
                    <li><a href="#">セカンダリメニュー</a></li>
                </ul>
            </li> 
        </ul>
    </div>
    <!-- -------メニュー HTML コード----------終了------- -->
    
</本文>
</html>

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

<<:  nginx をプロキシ キャッシュとして使用する方法

>>:  CSS は Apple のスムーズなスイッチ ボタン効果を模倣します

推薦する

Windows 10 に Linux サブシステムをインストールする 2 つの方法 (画像とテキスト付き)

Windows 10 は Linux サブシステムをサポートするようになり、面倒なデュアル システ...

Tomcat Nginx Redis セッション共有プロセス図

1. 準備ミドルウェア: Tomcat、Redis、Nginx Jar パッケージ: commons...

React+tsは二次リンク効果を実現します

この記事では、二次リンク効果を実現するためのReact+tsの具体的なコードを参考までに共有します。...

Linux ncコマンドの概要

NC のフルネームは Netcat (Network Knife) で、作成者は Hobbit &a...

Hタグの定義と注意事項について簡単に説明します

結果から判断すると、タイトルを定義するための固定パターンはなく、すべてむしろランダムな感じがします。...

テーブルのネストと境界の結合の問題に対する解決策

【質問】外側のテーブルと内側のテーブルがネストされていて、内側のテーブルと外側のテーブルの両方に境界...

MySQL の完全なデータベース バックアップ データを使用して単一のテーブル データを復元する方法

序文データベースをバックアップするときは、データベース全体のバックアップを使用します。ただし、何らか...

ログインフォームを実装するためのReactサンプルコード

Vue ユーザーとして、React を拡張する時が来ました。antd の導入、less と rout...

Linux のハードリンクとソフトリンクの区別

Linux には、2 種類のファイル接続があります。1 つは Windows のショートカットに似て...

相同性とクロスドメイン、jsonp(関数カプセル化)、CORS原則の詳細な分析

目次同一起源ポリシーAjax リクエストの制限: Ajaxは自身のサーバーにのみリクエストを送信でき...

MySQL の主キーがクエリを高速化するために数値を使用するか UUID を使用するかについての簡単な分析

実際の開発では、MySQL の主キーは重複できず、主キーが自動的にインクリメントされることがあります...

Vue.js $refs 使用例の説明

プロパティやイベントがあるにもかかわらず、JavaScript で子コンポーネントに直接アクセスする...

シンプルなカルーセルの最も完全なコード分析を実装するJavaScript(ES6オブジェクト指向)

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

MySQL Undo ログと Redo ログの概要

目次元に戻すログUNDOログの生成と破棄UNDOログの保存元に戻すログ機能トランザクションの原子性の...

ページのスクロールバーを無効にするには、overflow: hiddenを使用します。

コードをコピーコードは次のとおりです。 html {オーバーフロー: 非表示; }体{オーバーフロー...