CSSだけを使い追従型サイドメニューをマウスオーバーでスライド表示させる方法
css
|
2017.01.07
追従型サイドメニューをマウスオーバーでスライド表示させる方法を紹介したいと思います。
今回ご紹介するサンプルは2つあります。
「ホバーした際にメニュー全体をスライド表示させるタイプ」、「ホバーした項目だけスライド表示させるタイプ」
の2つです。
ホバーした際にメニュー全体をスライド表示させるタイプ
HTML
1 2 3 4 5 6 |
<ul id="nav1"> <li><a class="nav_icon01" href="#"><span>リンク1</span></a></li> <li><a class="nav_icon02" href="#"><span>リンク2</span></a></li> <li><a class="nav_icon03" href="#"><span>リンク3</span></a></li> <li><a class="nav_icon04" href="#"><span>リンク4</span></a></li> </ul> |
CSS
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
#nav1 { font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,sans-serif; font-size: 14px; line-height: 1.6; list-style: none; position: fixed; right: -85px; top: 50px; } #nav1 a span{ transition: margin .5s; } #nav1:hover a span{ margin-right: 100px; } #nav1 li{ counter-increment: count; } #nav1 li a { border: 1px solid #fff; color: #fff; display: block; font-size: 16px; font-weight: bold; height: 64px; line-height: 64px; padding: 0 20px 0 60px; position: relative; text-decoration: none; } #nav1 li a:before { border: 3px solid #fff; border-radius: 18px; content: counter(count); color: #fff; font-size: 16px; height: 30px; left: 10px; line-height: 30px; position: absolute; top: 14px; text-align: center; width: 30px; } #nav1 li a:hover { opacity: 0.6; } #nav1 li .nav_icon01{ background:#40AAEF; } #nav1 li .nav_icon02{ background:#58BE89; } #nav1 li .nav_icon03{ background:#FBA848; } #nav1 li .nav_icon04{ background:#F27398; } |
ホバーした項目だけスライド表示させるタイプ
1 2 3 4 5 6 |
<ul id="nav2"> <li class="nav01"><a class="nav_icon01" href="#"><span>リンク1</span></a></li> <li class="nav02"><a class="nav_icon02" href="#"><span>リンク2</span></a></li> <li class="nav03"><a class="nav_icon03" href="#"><span>リンク3</span></a></li> <li class="nav04"><a class="nav_icon04" href="#"><span>リンク4</span></a></li> </ul> |
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
#nav2 { font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,sans-serif; font-size: 14px; line-height: 1.6; list-style: none; position: fixed; right: 0; top: 50px; } #nav2 li{ counter-increment: count; position: absolute; right: -100px; transition: all .5s; } #nav2 li a { border-top: 1px solid #fff; border-left: 1px solid #fff; border-bottom: 1px solid #fff; color: #fff; display: block; font-size: 16px; font-weight: bold; height: 64px; line-height: 64px; padding: 0 20px 0 60px; position: relative; text-decoration: none; width: 80px; } #nav2 li a:before { border: 3px solid #fff; border-radius: 18px; content: counter(count); color: #fff; font-size: 16px; height: 30px; left: 10px; line-height: 30px; position: absolute; top: 14px; text-align: center; width: 30px; } #nav2 li:hover{ right: 0; opacity: 0.6; } #nav2 .nav01{ top: 0; } #nav2 li .nav_icon01{ background:#40AAEF; } #nav2 .nav02{ top: 66px; } #nav2 li .nav_icon02{ background:#58BE89; } #nav2 .nav03{ top: 132px; } #nav2 li .nav_icon03{ background:#FBA848; } #nav2 .nav04{ top: 198px; } #nav2 li .nav_icon04{ background:#F27398; } |
<参考にさせて頂いた記事>
jQuery マウスオーバーで横からパネルかメニューをニューっと出す