先日、_s(underscores)のナビゲーションをカスタマイズしてみました。
この時には、まずPC表示を優先して作成したのですが、「そういえば、_s(underscores)をモバイルファーストにするんだったな」と本来のコンセプトを思い出しまして、せっせと作り直してみました。
モバイル用CSS
button.menu-toggle {
display: block;
height: 3.75em;
padding: 0 1em;
font-weight: normal;
font-size: 14px;
text-decoration: none;
line-height: 3.75em;
color: white;
/* buttonn reset */
border: none;
border-radius: 0;
background: none;
box-shadow: none;
}
.main-navigation {
position: relative;
float: left;
width: 100%;
display: block;
clear: both;
text-transform: uppercase;
background: #313131;
}
.main-navigation.toggled .nav-menu {
display: block;
border-top: 1px solid;
border-top-color: #fff;
}
.main-navigation ul {
display: none;
list-style: none;
margin: 0;
padding-left: 0;
}
.main-navigation a {
display: block;
padding: 1.3em 1em;
font-size: 14px;
font-size: 1.4rem;
text-decoration: none;
line-height: 1.3em;
color: white;
}
.main-navigation li {
float: none;
position: relative;
}
.main-navigation li:hover > a {
background: #313131;
}
.main-navigation li a {
padding: 1.3em 2em;
}
.main-navigation li li a {
padding-left: 4em;
}
.main-navigation li li li a {
padding-left: 6em;
}
.main-navigation ul ul {
position: relative;
top: inherit;
left: 0;
z-index: 99999;
display: block;
float: none;
padding: 0;
background: #313131;
}
.main-navigation ul ul ul {
position: relative;
top: inherit;
left: 0;
display: block;
float: none;
background: #313131;
}
.main-navigation ul ul a {
width: 100%;
}
.main-navigation ul ul li {
}
.main-navigation li:hover > a {
color: #fff;
background: #4d4d4d;
}
.main-navigation ul ul :hover > a {
}
.main-navigation ul a:hover,
.main-navigation ul ul a:hover {
background: #4d4d4d;
}
.main-navigation ul li:hover > ul {
display: block;
}
.main-navigation .current_page_item > a,
.main-navigation .current_page_item > a:hover,
.main-navigation .current_page_item li:hover,
.main-navigation .current_page_parent .current_page_item > a {
color: #fff;
background: #4d4d4d;
}
.main-navigation .current_page_item > a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a:hover,
.main-navigation .current-menu-item > a:hover {
background: white;
color: #313131;
}
.main-navigation .current_page_ancestor {
background: #4d4d4d;
}
.main-navigation ul ul .current_page_parent,
.main-navigation .current_page_parent .current_page_item > a {
color: #fff;
background: #313131;
}
長々と書いてありますが、まずはモバイル(スマホ)用のCSSを記述します。button.menu-toggleで<button>タグをリセットする内容を記述しています。5.2 Menusにこちらを記述していますが、これよりも以前に<button>タグの設定をしてありますので、こちらをリセットする内容になっています。
こちらに上書きする形でタブレットサイズ以降(PCも含む)のCSSを記述します。
タブレット、PC用CSS
@media screen and (min-width: 768px) {
button.menu-toggle {
display: none;
}
.main-navigation.toggled .nav-menu {
border-top: none;
}
.main-navigation ul {
display: block;
}
.main-navigation li {
float: left;
}
.main-navigation li a {
padding: 1.3em 1em;
}
.main-navigation li li a,
.main-navigation li li li a {
padding-left: 1em;
}
.main-navigation ul ul {
position: absolute;
display: none;
float: left;
background: #4d4d4d;
}
.main-navigation ul ul ul {
position: absolute;
float: left;
left: 100%;
top: 0;
}
.main-navigation ul ul a {
width: 200px;
}
.main-navigation ul ul a:hover {
background: #313131;
}
}
こちらで先ほどのモバイル用CSSを上書きして768px以上のデバイス幅のブラウザで適応されます。












