トップナビゲーションバー機能を実現するCSS+HTML

トップナビゲーションバー機能を実現するCSS+HTML

ナビゲーション バー、固定トップ ナビゲーション バー、およびセカンダリ メニューの実装効果図の実装:

ここに画像の説明を挿入

2018/11/16更新:
最近このナビゲーションバーを使用していたところ、ページを拡大・縮小したときにナビゲーションバーのレイアウトや表示に若干の問題があることに気づいたので、CSS コードを再修正して再度投稿しました。

新しいコード実装(最適化されたレイアウト):

<html>
   <ヘッド>
       <スタイル タイプ="text/css">
        。トップ{
    /* 幅、高さ、背景色を設定します */
    height: auto; /*高さを自動高さに変更*/
    幅:100%;
    左マージン: 0;
    背景:rgb(189, 181, 181);
    position: fixed; /*上部に固定*/
    top: 0;/*上からの距離は0です*/
    下部マージン: 5px;
}
.トップ ul{
    /* ul タグのデフォルトスタイルをクリアします */
    width: auto;/*幅も自動に変更されます*/
    リストスタイルタイプ: なし;
    空白:折り返しなし;
    オーバーフロー: 非表示;
    左マージン: 5%;
    /* 上マージン: 0; */
    パディング: 0;

}
.トップ li {
    float:left; /* li コンテンツを水平方向にフロートさせます。つまり、水平方向に配置します。*/
    margin-right:2%; /* 2つの線の間の距離*/
    位置: 相対的;
    オーバーフロー: 非表示;
}

.トップ li a{
   /* リンクコンテンツの表示形式を設定します */
    display: block; /* リンクをブロック要素として表示すると、リンク領域全体がクリック可能になります*/
    色:白;
    テキスト配置: 中央;
    パディング: 3px;
    オーバーフロー: 非表示;
    テキスト装飾: なし; /* 下線を削除 */
    
}
.top li a:hover{
    /* マウスを選択すると背景が黒くなります*/
    背景色: #111;
}
.トップ ul li ul{
    /* セカンダリメニューを設定する */
    左マージン: -0.2px;
    背景:rgb(189, 181, 181);
    位置: 相対的;
    display: none; /* デフォルトでセカンダリメニューの内容を非表示にする*/

}
.トップ ul li ul li{
    /* セカンダリメニューliコンテンツの表示*/
    
    フロート:なし;
    テキスト配置: 中央;
}
.トップ ul li:ホバー ul{
    /* マウスがセカンダリメニューコンテンツを選択した場合*/
    表示: ブロック;
}
体{
    背景:#eff3f5;
}

       </スタイル>
        <本文>
            <div class="top">
                   <中央> 
                    <ul>
                    <li><a href="#">第 1 レベル メニュー</a></li>
                    <li><a href="#">第 1 レベル メニュー</a></li>
                    <li><a href="#">第 1 レベル メニュー</a></li>
                    <li><a href="#"><b>第 1 レベル メニュー</b></a></li>
                    <li><a href="#">第 1 レベル メニュー</a></li>
                    <li>
                        <a href="#">第 1 レベルのメニュー</a>
                        <ul>
                            <li><a href="#">セカンダリメニュー</a></li>
                            <li><a href="#">セカンダリメニュー</a></li>
                        </ul>
                    </li>        
                      </ul>
                    </center>      
            </div>
        </本文>
    </head>
</html>

以下は元のコード実装です (ページを拡大および縮小すると、ナビゲーション ページのレイアウトに問題が発生します)。

<html>
   <ヘッド>
       <スタイル タイプ="text/css">
        。トップ{
            /* 幅、高さ、背景色を設定します */
            高さ: 50px;
            幅:100%;
            背景:rgb(189, 181, 181);
            position: fixed; /*上部に固定*/
            top: 0;/*上からの距離は0です*/
        }
        .トップ ul{
            /* ul タグのデフォルトスタイルをクリアします */
            幅: 80%;
            リストスタイルタイプ: なし;
            マージン: 0;            
            パディング: 0;
            オーバーフロー: 非表示;

        }
        .トップ li {    
            float:left; /* li コンテンツを水平方向にフロートさせます。つまり、水平方向に配置します。*/
            margin-right:50px; /* 2つの線の間の距離*/
        }

        .トップ li a{
           /* リンクコンテンツの表示形式を設定します */
            display: block; /* リンクをブロック要素として表示すると、リンク領域全体がクリック可能になります*/
            色:白;
            テキスト配置: 中央;
            パディング: 14px 16px;
            テキスト装飾: なし; /* 下線を削除 */
        }
        .top li a:hover{
            /* マウスを選択すると背景が黒くなります*/
            背景色: #111;
        }
        .トップ ul li ul{
            /* セカンダリメニューを設定する */
            幅: 自動;
            背景:rgb(189, 181, 181);
            位置: 絶対;
            display: none; /* デフォルトでセカンダリメニューの内容を非表示にする*/

        }
        .トップ ul li ul li{
            /* セカンダリメニューliコンテンツの表示*/
            右マージン:0;
            フロート:なし;
            テキスト配置: 中央;
        }
        .トップ ul li:ホバー ul{
            /* マウスがセカンダリメニューコンテンツを選択した場合*/
            表示: ブロック;
        }
       </スタイル>
        <本文>
            <div class="top">
                   <中央> 
                    <ul>
                    <li><a href="#">第 1 レベル メニュー</a></li>
                    <li><a href="#">第 1 レベル メニュー</a></li>
                    <li><a href="#">エピソードメニュー</a></li>
                    <li><a href="#"><b>第 1 レベル メニュー</b></a></li>
                    <li><a href="#">第 1 レベル メニュー</a></li>
                    <li>
                        <a href="#">第 1 レベルのメニュー</a>
                        <ul>
                            <li><a href="#">セカンダリメニュー</a></li>
                            <li><a href="#">セカンダリメニュー</a></li>
                        </ul>
                    </li>        
                      </ul>
                    </center>      
            </div>
        </本文>
    </head>
</html>

CSS+HTML を使用してトップ ナビゲーション バー機能を実装する方法についての記事はこれで終わりです。CSS トップ ナビゲーション バーに関する関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  JavaScript 即時実行関数の使用状況分析

>>:  0.1秒の価値!フロントエンドのウェブページの高速化の問題について簡単に説明します

推薦する

Centos7.6にTomcat-8.5.39をインストールする方法

Centos7.6 に Tomcat-8.5.39 をインストールする方法は次のとおりです。詳細は次...

HTMLはマーキーを使用してテキストを左右にスクロールします

コードをコピーコードは次のとおりです。 <本文> //マーキーの助けを借りて<MA...

Linux カーネルの copy_{to, from}_user() に関する考察

目次1. copy_{to,from}_user() とは何か1. copy_{to,from}_u...

MySQL Innodbの主な機能挿入バッファ

目次挿入バッファとは何ですか?挿入バッファのトリガー条件は何ですか?なぜ一意のインデックスにできない...

マウスの尾行効果を実現する JavaScript

マウス効果では、setTimeout を使用して固定時間にノードを生成し、ノードを削除し、生成された...

MAC 上の MySQL の初期パスワードを忘れた場合の対処方法

MACでMySQLの初期パスワードを忘れた場合の解決策を参考までに共有します。具体的な内容は次のとお...

あるテーブルからバッチデータをクエリし、それを別のテーブルに挿入する MySQL の完全な例

事前に言っておくNodejs はデータベースを非同期操作として読み取るため、データベースがデータを読...

シンプルなドラッグ効果を実現するJavaScript

この記事では、簡単なドラッグ効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

CSS スタイルの読み込みの優先順位に関する経験の共有

昨日のプロジェクト開発中に、スタイルの読み込み優先順位に関する問題が発生しました。クラスは定義され、...

Vue+echarts でプログレスバーのヒストグラムを実現

この記事では、プログレスバーヒストグラムを実現するためのvue+echartsの具体的なコードを参考...

Dockerfile に基づいて Tomcat イメージを構築する方法

Dockerfile は Docker イメージを構築するために使用されるファイルです。コマンドパラ...

Mysql5.7 サービスを開始できません。グラフィカル ソリューション チュートリアル

p>「サービス」で手動で起動すると、 コンソールから起動します: 次に、...\MySQL S...

効率的なMySQLページングの詳細な説明

序文通常、大量のデータを扱う MySQL クエリには「ページング」戦略が採用されます。ただし、ページ...

画像をクリックして切り替えるJavaScript

クリックして画像を切り替えることは、日常生活で非常によく行われることです。今日の練習は、画像を切り替...

Linux サービスでファイアウォールを有効にする 2 つの方法

方法は2つあります: 1. サービス方法ファイアウォールのステータスを確認します。 [root@ce...