使用CSS3創(chuàng)建動態(tài)菜單效果

該教程,我們將討論CSS3的一些新功能和新特性,并教你在不使用圖片和JavaScript的情況下,如何制作酷炫的圓形導(dǎo)航菜單。該實例將用到CSS3的新特性: border-radius和animation。
第一步:編輯菜單的HTML代碼
菜單包含三個列表項,分別取名為“Menu1”、“Menu2”、“Menu3”。
- <div class="css3Menus">
- <ul>
- <li>Menu1</li>
- <li>Menu2</li>
- <li>Menu3</li>
- </ul>
- </div>
第二步:設(shè)置菜單的背景
在該步驟中,我們將把導(dǎo)航的背景設(shè)置為黑色。寬度、高度和內(nèi)邊距為可選項,可以不設(shè)置。
- .<span style="width: auto; height: auto; float: none;" id="4_nwp"><a style="text-decoration: none;" mpid="4" target="_blank" href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=0&is_app=0&jk=e2fbae28688be8a0&k=css3&k0=css3&kdi0=0&luki=10&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=a0e88b6828aefbe2&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1922429&u=http%3A%2F%2Fwww%2Eadmin10000%2Ecom%2Fdocument%2F2453%2Ehtml&urlid=0" id="4_nwl"><span style="color:#0000ff;font-size:14px;width:auto;height:auto;float:none;">css3</span></a></span>Menus {
- background: #14080a;
- width:506px;
- height:260px;
- padding:20px;
- }
如下圖:
第三步:利用border-radius,制作圓形導(dǎo)航。
該步中,我們會利用CSS3的一些酷的功能,尤其是border-radius ,將每個列表項的背景設(shè)置為黃色,形狀為圓形。
- ul {
- list-style: none;
- }
- li {
- float:left;
- font: 14px/10px Arial, Verdana, sans-serif;
- color:#FFF;
- background-color:#CCCC00;
- width: 80px;
- height: 80px;
- padding:20px;
- margin:0 30px 0 0;
- -webkit-border-radius: 60px;
- -moz-border-radius: 60px;
- border-radius: 60px;
- }
菜單看起來呈下面樣子:
第四步:設(shè)置菜單的對齊方式
本步驟中,我們將為每個列表項設(shè)置特定的背景顏色與位置:
- li#menu1 {
- background-color: #00FFCC;
- }
- li#menu2 {
- background-color: #CC9900;
- margin-top:100px;
- }
- li#menu3 {
- background-color: #33FF66;
- margin-top:50px;
- }
現(xiàn)在菜單看起來呈下面樣子:
第五步:設(shè)置菜單中鏈接的對齊方式
- li a {
- color:#FFF;
- text-decoration:none;
- display:<span style="width: auto; height: auto; float: none;" id="2_nwp"><a style="text-decoration: none;" mpid="2" target="_blank" href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=0&is_app=0&jk=e2fbae28688be8a0&k=block&k0=block&kdi0=0&luki=7&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=a0e88b6828aefbe2&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1922429&u=http%3A%2F%2Fwww%2Eadmin10000%2Ecom%2Fdocument%2F2453%2Ehtml&urlid=0" id="2_nwl"><span style="color:#0000ff;font-size:14px;width:auto;height:auto;float:none;">block</span></a></span>;
- width: 80px;
- height: 45px; text-align: center;
- padding:35px 0 0 0;
- margin:0 40px 0 0;
- -webkit-border-radius: 40px;
- -moz-border-radius: 40px;
- border-radius: 40px;
- }
- li#menu1 a {
- background-color: #FF0000;
- }
- li#menu2 a {
- background-color: #660033;
- }
- li#menu3 a {
- background-color: #66CCCC;
- }
菜單現(xiàn)階段的樣子:
第六步:定義另一種效果,當(dāng)鼠標(biāo)懸浮在鏈接上時進行展現(xiàn)
- li a:hover,
- li a:focus,
- li a:active {
- width: 120px;
- height:65px;
- padding:55px 0 0 0;
- margin:-20px 0 0 -20px;
- -webkit-border-radius: 60px;
- -moz-border-radius: 60px;
- border-radius: 60px;
- }
菜單樣式如圖:
第七步:最后為導(dǎo)航增加動畫效果
- li a:hover,
- li a:focus,
- li a:active {
- -webkit-animation-name:bounce;
- -webkit-animation-duration:1s;
- -webkit-animation-iteration-count:4;
- -webkit-animation-direction:alternate;
- }
- @-webkit-keyframes bounce{<span style="width: auto; height: auto; float: none;" id="1_nwp"><a style="text-decoration: none;" mpid="1" target="_blank" href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=0&is_app=0&jk=e2fbae28688be8a0&k=from&k0=from&kdi0=0&luki=2&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=a0e88b6828aefbe2&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1922429&u=http%3A%2F%2Fwww%2Eadmin10000%2Ecom%2Fdocument%2F2453%2Ehtml&urlid=0" id="1_nwl"><span style="color:#0000ff;font-size:14px;width:auto;height:auto;float:none;">from</span></a></span>{margin:0 40px 0 0;}
- to{margin:120px 40px 0 0;}
- }
菜單所產(chǎn)生的動畫效果:
結(jié)論
通過上面教程,你已經(jīng)學(xué)到如何制作酷的動畫菜單。在制作過程中不需要使用JavaScript和圖片,只需要使用CSS3的一些酷的特性即可。該菜單可以完美地運行于Chrome和Safari瀏覽器。在Firefox瀏覽器中,無法看到動畫效果。
相關(guān)文章
CSS3 最強二維布局系統(tǒng)之Grid 網(wǎng)格布局
CS3的Grid網(wǎng)格布局是目前最強的二維布局系統(tǒng),可以同時對列和行進行處理,將網(wǎng)頁劃分成一個個網(wǎng)格,可以任意組合不同的網(wǎng)格,做出各種各樣的布局,本文介紹CSS3 最強二維布局系2025-02-27- 本文介紹了如何使用CSS3的transform屬性和動畫技巧實現(xiàn)波浪式圖片墻,通過設(shè)置圖片的垂直偏移量,并使用動畫使其周期性地改變位置,可以創(chuàng)建出動態(tài)且具有波浪效果的圖片墻,同2025-02-27
CSS3模擬實現(xiàn)一個雷達(dá)探測掃描動畫特效(最新推薦)
文章介紹了如何使用CSS3實現(xiàn)一個雷達(dá)探測掃描的效果,包括夜色背景、蜘蛛網(wǎng)盤、掃描體的轉(zhuǎn)動效果、尾巴陰影以及被掃描到的光點,通過HTML和CSS的配合,實現(xiàn)了豐富的動畫效果,2025-02-21- CSS3的Flexbox是一種強大的布局模式,通過設(shè)置display:flex可以輕松實現(xiàn)對齊、排列和分布網(wǎng)頁元素,它解決了傳統(tǒng)布局方法中的對齊、間距分配和自適應(yīng)布局等問題,接下來通過本2025-02-19
css3 實現(xiàn)icon刷新轉(zhuǎn)動效果
本文給大家介紹css3 實現(xiàn)icon刷新轉(zhuǎn)動效果,文章開頭給大家介紹了webkit-transform、animation、@keyframes這三個屬性,結(jié)合實例代碼給大家介紹的非常詳細(xì),感興趣的朋友一2025-02-19- CSS3過渡屬性用于實現(xiàn)元素從一種樣式平滑過渡到另一種樣式,通過設(shè)置transition-property過渡屬性、transition-duration過渡時長transition-timing-function過渡函數(shù)和trans2025-02-19
CSS3實現(xiàn)動態(tài)旋轉(zhuǎn)加載樣式的示例代碼
本文介紹了如何使用CSS3創(chuàng)建一個簡單的動態(tài)旋轉(zhuǎn)加載樣式,通過定義一個帶有類名“l(fā)oader”的HTML元素,并使用CSS樣式和@keyframes規(guī)則來實現(xiàn)旋轉(zhuǎn)動畫,你可以根據(jù)需要調(diào)整樣式2025-02-19- 這篇文章主要介紹了如何使用CSS3的transition屬性實現(xiàn)平滑的過渡動畫,本文通過實例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2025-02-13
CSS3中使用flex和grid實現(xiàn)等高元素布局的示例代碼
本文介紹了使用CSS3中的Flexbox和Grid布局實現(xiàn)等高元素布局的方法,通過簡單的兩列實現(xiàn)、每行放置3列以及全部代碼的展示,展示了這兩種布局方式的實現(xiàn)細(xì)節(jié)和效果,感興趣的朋2025-02-11- CSS3和SVG的結(jié)合使用為網(wǎng)頁設(shè)計帶來了創(chuàng)新的動態(tài)視覺效果,本文通過一個圓形進度條的動畫特效示例,展示了如何利用CSS3的動畫功能和SVG的矢量圖形能力來創(chuàng)建豐富的用戶交互體2024-10-24