【HTML】【CSS】グローバルナビゲーション(グローバルメニュー)のサンプルコード
この記事では、Webサイトのナビゲーションに不可欠な「グローバルメニュー」のサンプルコードを紹介しています。
HTMLとCSSだけで作ったシンプルなデザインとなっています。
実際のWeb制作にすぐに活用できる内容となっています。好みのデザインに変更/調整してご利用ください。
サンプルコード
【できあがりイメージ】
【CSS】
.gnavi__wrap {
margin: 0 auto;
}
.gnavi__lists {
display: flex;
list-style: none;
padding-left:0px;
justify-content:center;
}
.gnavi__list {
height: 40px;
background-color: #E5F0F8;
position: relative;
transition: all .3s;
}
.gnavi__list:hover {
background-color: #0071BB;
}
.gnavi__list:hover ul > li > ul {
transform: scaleY(0);
transform: scaleX(0);
}
.gnavi__list:hover ul > li > ul > li {
display:none;
}
.gnavi__list:not(:first-child)::before {
content: "";
width: 1px;
height: 100%;
background-color: #fff;
position: absolute;
top: 0;
left: 0;
transition: all .3s;
}
.gnavi__list:hover::before {
background-color: #0071BB;
}
.gnavi__list a {
display: flex;
justify-content: center;
align-items: center;
width:200px;
height: 100%;
text-decoration: none;
color: #1b4059;
font-size: 15px;
letter-spacing: 0.05em;
font-weight: 600;
transition: all .3s;
}
.gnavi__list:hover a {
color: #fff;
}
/**
* ドロップダウン
*/
.dropdown__lists {
transform: scaleY(0);
transform-origin: center top;
transition: all .3s;
position: absolute;
left: 0;
list-style: none;
padding-left: 0px;
z-index:100;
}
.gnavi__list:hover .dropdown__lists {
transform: scaleY(1);
}
.dropdown__list {
background-color: #004d80;
height: 40px;
transition: all .3s;
position: relative;
}
.dropdown__list:not(:first-child)::before{
content: "";
width: 100%;
height: 1px;
background-color: #3492d1;
position: absolute;
top: 0;
left: 0;
}
.dropdown__list:hover {
background-color: #003558;
}
.dropdown__list a {
display: flex;
justify-content: center;
align-items: center;
color: #fff;
text-decoration: none;
position: relative;
}
.dropdown__list a::before {
content: '';
display: block;
width: 6px;
height: 6px;
border-top: 2px solid #fff;
border-left: 2px solid #fff;
transform: rotate(135deg);
position: absolute;
right: 15px;
top: calc(50% - 5px);
}
/**
* サブドロップダウン
*/
.sub_dropdown__lists {
transform: scaleY(0);
transform: scaleX(0);
transform-origin: left top;
transition: all .3s;
position: absolute;
left: 100%;
top:0;
list-style: none;
padding-left: 0px;
}
.dropdown__list:hover .sub_dropdown__lists {
transform: scaleY(1);
transform: scaleX(1);
top:0;
}
.dropdown__list:hover .sub_dropdown__lists > li {
display : block;
}
.sub_dropdown__list {
background-color: #004d80;
height: 40px;
transition: all .3s;
position: relative;
}
.sub_dropdown__list:hover {
background-color: #003558;
}
.sub_dropdown__list a {
display: flex;
justify-content: center;
align-items: center;
color: #fff;
text-decoration: none;
position: relative;
}
.sub_dropdown__list a::before {
content: '';
display: block;
width: 6px;
height: 6px;
border-top: 2px solid #fff;
border-left: 2px solid #fff;
transform: rotate(135deg);
position: absolute;
right: 15px;
top: calc(50% - 5px);
}
【HTML】
<div class="gnavi__wrap">
<ul class="gnavi__lists">
<li class="gnavi__list">
<a href="/top">メニュー1</a>
</li>
<li class="gnavi__list">
<a href="#">メニュー2</a>
<ul class="dropdown__lists">
<li class="dropdown__list"><a href="#">サブメニュー1</a></li>
<li class="dropdown__list"><a href="#">サブメニュー2</a></li>
<li class="dropdown__list"><a href="#">サブメニュー3</a></li>
<li class="dropdown__list">
<a href="#">サブメニュー4</a>
<ul class="sub_dropdown__lists">
<li class="sub_dropdown__list"><a href="#">サブサブメニュー1</a></li>
<li class="sub_dropdown__list"><a href="#">サブサブメニュー2</a></li>
<li class="sub_dropdown__list"><a href="#">サブサブメニュー3</a></li>
</ul>
</li>
</ul>
</li>
<li class="gnavi__list">
<a href="/recruitment_setting">メニュー3</a>
</li>
<li class="gnavi__list">
<a href="#">メニュー4</a>
<ul class="dropdown__lists">
<li class="dropdown__list"><a href="#">サブメニュー1</a></li>
<li class="dropdown__list"><a href="#">サブメニュー2</a></li>
<li class="dropdown__list"><a href="#">サブメニュー3</a></li>
</ul>
</li>
<li class="gnavi__list">
<a href="#">メニュー5</a>
<ul class="dropdown__lists">
<li class="dropdown__list"><a href="#">サブメニュー1</a></li>
<li class="dropdown__list"><a href="#">サブメニュー2</a></li>
<li class="dropdown__list"><a href="#">サブメニュー3</a></li>
</ul>
</li>
</ul>
</div>
以上