如何使用CSS3创建动态菜单效果

困难是动摇者和懦夫掉队回头的便桥;但也是勇敢者前进的脚踏石。我不识何谓君子,但看每事肯吃亏者便是;我不识何谓小人,但看每事好占便宜者便是。

 该好代码教程,我们将讨论CSS3的一些新功能和新特性,并教你在不使用图片和JavaScript的情况下,如何制作酷炫的圆形导航菜单。该实例将用到CSS3的新特性: border-radius和animation。


 Demo演示

第一步:编辑菜单的HTML代码

  菜单包含三个列表项,分别取名为“Menu1”、“Menu2”、“Menu3”。

XML/HTML Code复制内容到剪贴板
  1. <divclass="css3Menus">
  2. <ul>
  3. <li>Menu1</li>
  4. <li>Menu2</li>
  5. <li>Menu3</li>
  6. </ul>
  7. </div>

  第二步:设置菜单的背景

  在该步骤中,我们将把导航的背景设置为黑色。宽度、高度和内边距为可选项,可以不设置。

CSS Code复制内容到剪贴板
  1. .<spanstyle="width:auto;height:auto;float:none;"id="4_nwp"><astyle="text-decoration:none;"mpid="4"target="_blank"rel="nofollow noopener noreferrer" 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"><spanstyle="color:#0000ff;font-size:14px;width:auto;height:auto;float:none;">css3</span></a></span>Menus{
  2. background:#14080a;
  3. width:506px;
  4. height:260px;
  5. padding:20px;
  6. }

  如下图:

第三步:利用border-radius,制作圆形导航。

  该步中,我们会利用CSS3的一些酷的功能,尤其是border-radius ,将每个列表项的背景设置为黄色,形状为圆形。

CSS Code复制内容到剪贴板
  1. ul{
  2. list-style:none;
  3. }
  4. li{
  5. float:left;
  6. font:14px/10pxArial,Verdana,sans-serif;
  7. color:#FFF;
  8. background-color:#CCCC00;
  9. width:80px;
  10. height:80px;
  11. padding:20px;
  12. margin:030px00;
  13. -webkit-border-radius:60px;
  14. -moz-border-radius:60px;
  15. border-radius:60px;
  16. }

  菜单看起来呈下面样子:

第四步:设置菜单的对齐方式

  本步骤中,我们将为每个列表项设置特定的背景颜色与位置:

CSS Code复制内容到剪贴板
  1. li#menu1{
  2. background-color:#00FFCC;
  3. }
  4. li#menu2{
  5. background-color:#CC9900;
  6. margin-top:100px;
  7. }
  8. li#menu3{
  9. background-color:#33FF66;
  10. margin-top:50px;
  11. }

  现在菜单看起来呈下面样子:

第五步:设置菜单中链接的对齐方式

CSS Code复制内容到剪贴板
  1. lia{
  2. color:#FFF;
  3. text-decoration:none;
  4. display:<spanstyle="width:auto;height:auto;float:none;"id="2_nwp"><astyle="text-decoration:none;"mpid="2"target="_blank"rel="nofollow noopener noreferrer" 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"><spanstyle="color:#0000ff;font-size:14px;width:auto;height:auto;float:none;">block</span></a></span>;
  5. width:80px;
  6. height:45px;text-align:center;
  7. padding:35px000;
  8. margin:040px00;
  9. -webkit-border-radius:40px;
  10. -moz-border-radius:40px;
  11. border-radius:40px;
  12. }
  13. li#menu1a{
  14. background-color:#FF0000;
  15. }
  16. li#menu2a{
  17. background-color:#660033;
  18. }
  19. li#menu3a{
  20. background-color:#66CCCC;
  21. }

  菜单现阶段的样子:


第六步:定义另一种效果,当鼠标悬浮在链接上时进行展现

CSS Code复制内容到剪贴板
  1. lia:hover,
  2. lia:focus,
  3. lia:active{
  4. width:120px;
  5. height:65px;
  6. padding:55px000;
  7. margin:-20px00-20px;
  8. -webkit-border-radius:60px;
  9. -moz-border-radius:60px;
  10. border-radius:60px;
  11. }

  菜单样式如图:

第七步:最后为导航增加动画效果

CSS Code复制内容到剪贴板
  1. lia:hover,
  2. lia:focus,
  3. lia:active{
  4. -webkit-animation-name:bounce;
  5. -webkit-animation-duration:1s;
  6. -webkit-animation-iteration-count:4;
  7. -webkit-animation-direction:alternate;
  8. }
  9. @-webkit-keyframesbounce{<spanstyle="width:auto;height:auto;float:none;"id="1_nwp"><astyle="text-decoration:none;"mpid="1"target="_blank"rel="nofollow noopener noreferrer" 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"><spanstyle="color:#0000ff;font-size:14px;width:auto;height:auto;float:none;">from</span></a></span>{margin:040px00;}
  10. to{margin:120px40px00;}
  11. }

  菜单所产生的动画效果:

结论

  通过上面好代码教程,你已经学到如何制作酷的动画菜单。在制作过程中不需要使用JavaScript和图片,只需要使用CSS3的一些酷的特性即可。该菜单可以完美地运行于Chrome和Safari浏览器。在Firefox浏览器中,无法看到动画效果。

以上就是如何使用CSS3创建动态菜单效果。越走心境越澄明的我们,最后都会遇上最好的自己。更多关于如何使用CSS3创建动态菜单效果请关注haodaima.com其它相关文章!

您可能有感兴趣的文章
css让页脚保持在底部位置的四种方案

CSS如何使用Flex和Grid布局如何实现3D骰子

Flex布局史上最简单使用语法教程

新的CSS 伪类函数 :is() 和 :where()示例详解

纯CSS打字动画的如何实现示例