【ソースコード】番外編:ドロップダウンメニューの練習
style.css
style.css
@charset "UTF-8";
html {
font-size: 100%;
}
body {
background-color: #f1f1f1;
font-family: 'Poppins', sans-serif;
font-size: 0.875rem;
}
ul {
list-style: none;
}
a {
text-decoration: none;
color: #fff;
}
header {
width: 100%;
background-color: #fff;
}
h1 {
height: 140px;
line-height: 140px;
font-size: 1.625rem;
text-align: center;
}
nav {
background-color: #121212;
}
/*
グローバルナビゲーション
「position: relative;」で、サブメニュー(Wide)の基準位置として設定
*/
.menu {
max-width: 1000px;
display: flex;
justify-content: space-between;
margin: 0 auto;
position: relative;
}
.menu > li {
width: 25%;
height: 50px;
line-height: 50px;
text-align: center;
}
.menu > li:hover {
background-color: #3c3636;
}
/*
「display: block;」でリンク範囲を親要素と同じ範囲まで広げる
*/
.menu > li a {
display: block;
}
/*
ドロップダウン用のメニュー
初期状態は表示しないため、「visibility: hidden;」で非表示にしておく
*/
.menu-second {
visibility: hidden;
}
/*
Menu Single
「position: relative;」で、サブメニュー(Single)の基準位置として設定
*/
.menu > .single {
position: relative;
}
/*
「position: absolute;」で、singleクラスを基準に所定の位置に配置する
*/
.single .menu-second {
width: 100%;
background-color: #3c3636;
position: absolute;
top: 50px;
left: 0;
}
.single .menu-second li a:hover {
opacity: 0.7;
}
/*
ホバー時にサブメニュー(Single)を表示する
*/
.single:hover .menu-second {
visibility: visible;
}
/*
Menu Wide
「position: absolute;」で、menuクラスを基準に所定の位置に配置する
*/
.wide .menu-second {
width: 100%;
background-color: #3c3636;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
position: absolute;
top: 50px;
left: 0;
}
.wide .menu-second li {
width: 25%;
}
.wide .menu-second li a:hover {
opacity: 0.7;
}
/*
ホバー時にサブメニュー(Wide)を表示する
*/
.wide:hover .menu-second {
visibility: visible;
}
/*-------------------------------------------
SP
-------------------------------------------*/
@media screen and (max-width: 600px) {
body {
font-size: 0.75rem;
}
}
CodejumpからWeb制作の実践本が発売決定!
Codejumpが書籍化!
1月14日(火)全国の書店&Amazonで発売!
1月14日発売決定!
詳細を見る