スマートフォンやタブレットで見たときのメニュー表現[1]
レスポンシブでコーディングしているサイトのナビゲーションをスマートフォンで見たとき、どのように処理するかのサンプルです。
これは割と単純で、指定の幅になったときにfloatしていたメニューを縦並びに戻しているだけです。
パソコン表示
#menu_button{
display:none;
cursor: pointer;
}
#navigation{
width: 1000px;
margin-right: auto;
margin-left: auto;
height: 30px;
line-height: 30px;
overflow:hidden;
}
#navigation ul{
display: block;
}
#navigation ul li{
list-style:none;
float:left;
width:20%;
text-align:center;
}
#navigation ul li a{
display: block;
background: #537EB8;
color: #FFF;
text-decoration: none;
border: 1px solid #FFFFFF;
}
#navigation ul li a:hover{
filter:alpha(opacity=70);
-moz-opacity:0.70;
opacity:0.70;
}
スマートフォン表示
#navigation{
width: auto;
height: auto;
}
#navigation ul{
display:none;
}
#navigation ul li{
float:none;
width:100%;
text-align:center;
}
#menu_button{
display:block;
text-align: center;
background-color: #0084FF;
color: #FFFFFF;
padding: 5px;
}
jQuery
jQuery(document).ready(function(){
jQuery(document).on('click','#menu_button',function(){
jQuery("#navigation ul").slideToggle();
});
});
あとはタップしたときにtoggleで開いたり閉じたりします。




