創建CSS3漂亮的動畫菜單
使用CSS3可以打造出非常漂亮的導航效果,在今天的教程中我將創建菜單項懸停效果,很容易地通過編輯 css 文件進行自定義,沒有使用任何圖像, 我會在水平和垂直位置的背景按鈕進行動畫處理。當你把鼠標移到菜單項的時間,將會涌現非常膩滑的滑動結果,下面就一路來看看這個簡樸美麗的CSS3動畫菜單吧。
我希望這些 css3 菜單示例會派上用場也許你沒有靈感,創建您自己的導航菜單。(谷歌,火狐瀏覽器***),喜歡這個效果的話歡迎留言交流。
HTML CODE
菜單結構是相當簡單的。我們將使用一個無序的列表項。您可以使用它從谷歌的字體庫。此外可以瀏覽庫并選擇適合你的總體設計的其他字體。
- <ul class="demo1">
- <li><a href="#">Home</a></li>
- <li><a href="#">Services</a></li>
- <li><a href="#">Gallery</a></li>
- <li><a href="#">About</a></li>
- <li><a href="#">Contact</a></li>
- </ul>
CSS CODE
在下列示例中我將展示您為每個菜單應用的樣式。
Example 1
***個示例中,我們將設置每個菜單項的背景寬度。寬度值會 0 表示處于正常狀態的元素,并賦予一個 50%在懸停狀態的值。根據您的需要,您可以更改此值。
- .demo1 li {
- background-color: rgba(238, 238, 238, 1);
- -webkit-transition: all 0.3s ease-in-out 0s;
- -moz-transition: all 0.3s ease-in-out 0s;
- -o-transition: all 0.3s ease-in-out 0s;
- -ms-transition: all 0.3s ease-in-out 0s;
- transition: all 0.3s ease-in-out 0s;
- padding-left:1%;
- height: 50px;
- min-height: 50px;
- width: 0;
- font-family:"Oswald";
- font-size:20px;
- }
padding-left屬性使您可以修改垂直寬度。
- .demo1 li:hover {
- background-color: rgba(238, 238, 238, 1);
- -webkit-transition: all 0.3s ease-in-out 0s;
- -moz-transition: all 0.3s ease-in-out 0s;
- -o-transition: all 0.3s ease-in-out 0s;
- -ms-transition: all 0.3s ease-in-out 0s;
- transition: all 0.3s ease-in-out 0s;
- width:50%;
- }
Example 2
第二個例子是與***個非常相同。只更改背景。
- .demo2 {
- background-color: rgba(179, 234, 255, 1);
- width:50%;
- }
Example 3
在此示例中在瀏覽器的頁的頂部,把高度屬性添加動畫效果。若要創建一個色彩鮮艷的菜單,您可以為每個菜單項以不同的顏色。
- .demo3 li {
- float:left;
- background-color: rgba(90, 183, 60, 1);
- -webkit-transition: all 0.3s ease-in-out 0s;
- -moz-transition: all 0.3s ease-in-out 0s;
- -o-transition: all 0.3s ease-in-out 0s;
- -ms-transition: all 0.3s ease-in-out 0s;
- transition: all 0.3s ease-in-out 0s;
- height:0;
- font-family:"Oswald";
- font-size:20px;
- padding:5px 0px 0px 0px;
- }
- .demo3 li:hover {
- background-color: rgba(90, 183, 60, 1);
- -webkit-transition: all 0.3s ease-in-out 0s;
- -moz-transition: all 0.3s ease-in-out 0s;
- -o-transition: all 0.3s ease-in-out 0s;
- -ms-transition: all 0.3s ease-in-out 0s;
- transition: all 0.3s ease-in-out 0s;
- height:80px;
- }
Example 4
此示例中的結構有點不同,因為我們將使用一個 div 作為專業的頁面動畫布局。
- <ul class="demo4">
- <li><div class="link"><a href="#">Home</a></div><div class="mask"></div></li>
- <li><div class="link"><a href="#">Services</a></div><div class="mask"></div></li>
- <li><div class="link"><a href="#">Gallery</a></div><div class="mask"></div></li>
- <div class="column-clear"></div>
- </ul>
在 css 結構中的重要屬性是吧他設置為隱藏
- .demo4 li {overflow: hidden;
- float:left;
- margin-left:20px;
- font-family:"Oswald";
- font-size:20px;
- text-align:center;
- background-color: rgba(255, 57, 57, 1);
- width:120px;
- height:60px;
- position:relative;
- color:#ffffff;
- }
- .demo4 li .mask {
- width:120px;
- height:60px;
- position: absolute;
- top: -60px;
- left: 0;
- background-color: rgba(170, 0, 0, 1);
- -webkit-transition: all 0.3s ease-in-out 0s;
- -moz-transition: all 0.3s ease-in-out 0s;
- -o-transition: all 0.3s ease-in-out 0s;
- -ms-transition: all 0.3s ease-in-out 0s;
- transition: all 0.3s ease-in-out 0s;
- -ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=0)";
- filter: alpha(opacity=0);
- opacity: 0;
- z-index:1;
- }
- .demo4 li:hover .mask {
- top:0px;
- -webkit-transform: translateY(0px);
- -moz-transform: translateY(0px);
- -o-transform: translateY(0px);
- -ms-transform: translateY(0px);
- transform: translateY(0px);
- -webkit-transition-delay: 0s;
- -moz-transition-delay: 0s;
- -o-transition-delay: 0s;
- -ms-transition-delay: 0s;
- transition-delay: 0s;
- -ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=1)";
- filter: alpha(opacity=1);
- opacity: 1;
- }
原文鏈接:http://www.cnblogs.com/web8cn/archive/2012/09/12/css3-animation-menus.html
【編輯推薦】