[CSSチュートリアル】CSS+HTMLで実現するトップナビゲーションバー機能
2022-01-21 16:18:55
ナビゲーションバー実装、トップナビゲーションバー固定、セカンダリーメニュー実装
/{br
レンダリングです。
2018/11/16に更新しました。
最近、このナビゲーションバーを使用する際に、ズームインとズームアウトの場合のページが、ナビゲーションバーのレイアウトと表示に、いくつかの小さな問題があることがわかったので、コードのCSS部分を変更し、再投稿しました。
新しいコードの実装(レイアウトの最適化)。
<html>
<head>
<style type="text/css">
.top{
/* set width height background color * height: auto; /* change height to auto height * width:100%;
margin-left: 0;
background:rgb(189, 181, 181);
position: fixed; /*fixed at the top* top: 0;/* distance from top is 0* margin-bottom: 5px;
}
.top ul{
/* clear the default style of ul tag * width: auto;/* width also changed to auto * list-style-type: none;
white-space:nowrap;
overflow: hidden;
margin-left: 5%;
/* margin-top: 0; * padding: 0;
}
.top li {
float:left; /* make the li content float horizontally, i.e. horizontally aligned * margin-right:2%; /* distance between two li's * position: relative;
overflow: hidden;
}
.top li a{
/* Set the format of the link content display * display: block; /* displaying the link as a block element makes the entire link area clickable * color:white;
text-align: center;
padding: 3px;
overflow: hidden;
text-decoration: none; /* remove underline *
}
.top li a:hover{
/* background becomes black when mouse is selected * background-color: #111;
}
.top ul li ul{
/* set secondary menu * margin-left: -0.2px;
background:rgb(189, 181, 181);
position: relative;
display: none; /* hide the content of the secondary menu by default *
}
.top ul li ul li{
/* Display of secondary menu li content *
float:none;
text-align: center;
}
.top ul li:hover ul{
/* When the content of the secondary menu is selected by the mouse * display: block;
}
body{
background:#eff3f5;
}
</style>
<body>
<div class="top">
<center>
<ul>
<li><a href="#">first-level menu</a></li>
<li><a href="#">Level 1 Menu</a></li>
<li><a href="#">Level 1 Menu</a></li>
<li><a href="#"><b>Level 1 Menu</b></a></li>
<li><a href="#">Level 1 Menu</a></li>
<li>
<a href="#">Level 1 Menu</a>
<ul>
<li><a href="#">Secondary Menu</a></li>
<li><a href="#">Secondary Menu</a></li>
</ul>
</li>
</ul>
</center>
</div>
</body>
</head>
</html>
のオリジナルコード実装(ページ拡大・縮小時のナビゲーションレイアウトに問題がある)。
<html>
<head>
<style type="text/css">
.top{
/* set width height background color * height: 50px;
width:100%;
background:rgb(189, 181, 181);
position: fixed; /* fixed at the top * top: 0;/* distance from top is 0* }
.top ul{
/* clear the default style of ul tags * width: 80%;
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
}
.top li {
float:left; /* make the li content float horizontally, i.e. horizontally aligned * margin-right:50px; /* distance between two li * }
.top li a{
/* set the format of the link content display * display: block; /* displaying the link as a block element makes the entire link area clickable * color:white;
text-align: center;
padding: 14px 16px;
text-decoration: none; /* remove underline * }
.top li a:hover{
/* background becomes black when mouse is selected * background-color: #111;
}
.top ul li ul{
/* set secondary menu * width: auto;
background:rgb(189, 181, 181);
position: absolute;
display: none; /* hide the content of the secondary menu by default *
}
.top ul li ul li{
/* display of secondary menu li content * margin-right:0;
float:none;
text-align: center;
}
.top ul li:hover ul{
/* When the secondary menu content is selected by mouse * display: block;
}
</style>
<body>
<div class="top">
<center>
<ul>
<li><a href="#">first-level menu</a></li>
<li><a href="#">Level 1 Menu</a></li>
<li><a href="#">One-Episode Menu</a></li>
<li><a href="#"><b>One Episode Menu</b></a></li>
<li><a href="#">Level 1 Menu</a></li>
<li>
<a href="#">Level 1 Menu</a>
<ul>
<li><a href="#">Secondary Menu</a></li>
<li><a href="#">Secondary Menu</a></li>
</ul>
</li>
関連
-
cssで背景色の半透明化を実現する2つの方法
-
[CSSレイアウト例】float(フロート)、position(ポジション)プロパティの差分によるCSSレイアウト
-
[CSSチュートリアル】検索ボックスの非表示機能を実現するCSS(アニメーションの順送り・逆戻りシーケンス)
-
[CSSチュートリアル】ボックス内の複数要素を両端揃えの効果で実現するCSS
-
[CSSチュートリアル】CSSで実現するTikTokのテキストジッター効果例
-
[CSSチュートリアル】大きな画像や情報を小さなドロップダウンで実現するCSS
-
[CSSチュートリアル】オーバーフロースクロールでスクロールの詰まりを解消する
-
[css3]css3 elastic box flexによる3カラムレイアウトの実装。
-
[css3】background属性の8つの属性値について解説(インタビュー記事)
-
[CSSレイアウト例】6種類の適応的な2カラムレイアウトを実現するCSS
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[CSSチュートリアル】CSSの新機能には、ページの再描画や並び替えの問題をコントロールする機能が含まれています。
-
[CSSチュートリアル】CSSで炎のエフェクトを記述する方法
-
[CSSチュートリアル】タイトルを上部に配置するスティッキーレイアウトを実現するためのCSS
-
[CSSチュートリアル】インタビュー必見!聖杯レイアウトとダブルウィングレイアウトの違いとは?
-
[CSSチュートリアル]CSSのボーダーの半分または部分的に見えるコードは、ボーダーを達成するために
-
[CSSチュートリアル】ホバードロップダウンメニュー方式を実現するCSS
-
[CSSチュートリアル]マウスをスライドさせてカードを浮かせるCSSの例
-
[CSSチュートリアル]CSSでimg画像を親コンテナdivと適応的なコンテナサイズに埋める
-
[css3]css3は、最初と最後のテキスト実行例を実現するためのコード
-
[CSSチュートリアル】display:olck/noneでメニューバーを完成させる方法