トップナビゲーションバー機能を実現する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秒の価値!フロントエンドのウェブページの高速化の問題について簡単に説明します

推薦する

https暗号化アクセス用にnginxを設定するための詳細なチュートリアル

環境: 1 CentOS Linux リリース 7.5.1804 (コア)ファイアウォールと sel...

CentOS7にMySQL 8.0.26をインストールする手順

1. まず、お使いのマシンに応じて、MySQL 公式サイトから対応するデータベースをダウンロードしま...

WeChatアプレットはユーザーログインモジュールサーバーの構築を実装します

サーバーの構築には node.js を選択しました。まだインストールしていない方は、私の他の nod...

MongoDBのパフォーマンスを向上させる方法

MongoDB は高性能なデータベースですが、使用していくうちにパフォーマンスの問題が発生することが...

vue+node+socket ioは複数人のインタラクションを実現し、プロセス全体を解放します

1. 背景1. フロントエンドはvue + vuex + socket.io-clientを使用しま...

シンプルなプログレスバーを作成するための HTML+CSS

1. HTMLコードコードをコピーコードは次のとおりです。経験値: <span class=...

MySQL 5.7.21 winx64 無料インストールバージョン設定方法グラフィックチュートリアル

MySQL 5.7.21 winx64無料インストールバージョンの設定方法、参考までに、具体的な内容...

Linux での Redis の永続性、マスター スレーブ同期、Sentinel の詳細な説明

1.0 Redis の永続性Redis はメモリ内データベースです。サーバー プロセスが終了すると、...

MySQL 権限昇格のさまざまな形態の概要

目次1. Webshel​​lを書く出力ファイルにシェルを書き込むログファイル書き込みシェル2. U...

W3C チュートリアル (4): W3C XHTML アクティビティ

HTML は、World Wide Web 上で公開するために使用されるハイブリッド言語です。 XH...

Vue でバイナリ ファイル ストリームを受信して​​ PDF プレビューを実現する方法

バックグラウンド コントローラー @RequestMapping("/getPDFStre...

JavaScript でドラッグ可能なプログレスバーを実装する

この記事では、ドラッグ可能なプログレスバーを実装するためのJavaScriptの具体的なコードを参考...

JS のオブジェクトリテラルの詳細な説明

目次序文1. オブジェクト構築にプロトタイプを設定する1.1 __proto__ の使用における特殊...

Docker バインディング固定 IP/クロスホストコンテナ相互アクセス操作

序文これまでは、パイプワークで割り当てた静的 IP は一時的なものであり、再起動すると無効になってい...

Dockerイメージを素早くデプロイして実行する最新のIDEAプロセスの詳細な説明

背景docker とアイデアを使用して、Java Web の開発、展開、運用までのプロセス全体を実現...