本文分享一個帶動畫效果的中英文切換導航條。
鼠標放上去試一下:
- INDEX 首頁
- BBS 社區
- HOME 我
?
1.用CSS3實現
效果看上去復雜,其實我們先來做出一個樣式,就很簡單了。如下:
?代碼:
<nav><ul class="list"><li><a href="#"><b>INDEX</b><i>首頁</i></a></li><li><a href="#"><b>BBS</b><i>社區</i></a></li><li><a href="#"><b>HOME</b><i>我</i></a></li></ul></nav>
*{padding: 0;margin:0; } li{list-style: none; } a{text-decoration: none; } nav{width:100%;height:40px;background:#222;margin-top:100px; } .list{width: 1000px;height:40px;margin: 0 auto; } .list li{float: left;} .list li a{display: block; } .list b,i{display: block;padding: 0 30px;color: #aaa;line-height: 40px;text-align: center;} .list b{font-weight: 100x; } .list i{font-style: normal;background: #333;color: #fff; }
此時再來實現上面的效果,只需要加一個a:hover選擇器,讓鼠標指向一個菜單時,li向上移動
.list a:hover{margin-top: -40px; }
- INDEX 首頁
- BBS 社區
- HOME 我
?
?
此時的變化還很生硬,再來加一個動畫效果:
.list li a{transition: 0.3s; }
?然后將多余的隱藏:
nav{overflow: hidden; }
?
?大功告成!但是transition在ie上支持的不是很好,所以我們再來分享一個jQuery的實現。
2.jQuery實現:
利用jQuery代替css實現hover和transition效果,直接看代碼:
$(function(){$(".list a").hover(function(){$(this).stop().animate({"margin-top":-40},300)},function(){$(this).stop().animate({"margin-top":0},300)}) })
?效果是一樣的。
以上。