スマートフォンやタブレットで見たときのメニュー表現[1]
レスポンシブでコーディングしているサイトのナビゲーションをスマートフォンで見たとき、どのように処理するかのサンプルです。
これは割と単純で、指定の幅になったときにfloatしていたメニューを縦並びに戻しているだけです。
パソコン表示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #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 ; } |
スマートフォン表示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #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
1 2 3 4 5 | jQuery(document).ready( function (){ jQuery(document).on( 'click' , '#menu_button' , function (){ jQuery( "#navigation ul" ).slideToggle(); }); }); |
あとはタップしたときにtoggleで開いたり閉じたりします。