超赞的CSS3动画下拉菜单

今天分享几个最近看到的比较实用的CSS3带动画的下拉菜单效果,实现出来的效果跟使用jQuery的slideDown和fadeIn有得一比,效果非常赞,本人推荐各位以后可以使用下面的几种效果,一定会给你的前端开发带来不少亮点的。如果需要更多效果可以看之前的文章:CSS3下拉菜单模板

上面的这个下拉菜单就是纯CSS3实现的跟使用jquery中的fadeIn和slideDown可以一比的菜单效果。一起来看看实现代码思路:

常规的下拉菜单列表就不说了,主要是说这个二级菜单的动画效果代码。

.site-navigation ul ul{min-width: 100px; position: absolute; left:0; top:100%; visibility: hidden; opacity: 0; -webkit-transition:all .3s ease-in-out; transition:all .3s ease-in-out; margin-top:20px; background-color: #fff; box-shadow: 0 1px 4px rgba(0,0,0,0.2); background-color: #F0F0F0;}
.site-navigation ul li:hover > ul{visibility: visible; opacity: 1; margin-top:0;}
.site-navigation ul ul ul{ left:100%; top:0; margin-top: 0; margin-left: 20px;}
.site-navigation ul ul li:hover > ul{margin-left:0;}

上面重点标注的代码就是这个菜单动起来的代码了。以前用CSS写的菜单总是很死板,今后抛开IE6,使用单纯的CSS3也可以让菜单动起来了。

演示地址

这个效果也很赞,通过让下拉菜单逐渐下推出来,形成一种渐进的特效,也很符合下拉菜单的效果,比使用jQuery动画好看多了,真的非常赞,以前没有发现真是太可惜了。关键代码:

.nav ul{height:0;overflow:hidden;left:0; top:100%;position:absolute;}
.nav li:hover ul{height:auto;width:180px}
.nav li ul li{opacity:0;-webkit-transition:0.5s;transition:0.5s;width:100%;-webkit-transition-delay:0s;transition-delay:0s}
.nav li:hover ul li{opacity:1;-webkit-transition-delay:0.5s;transition-delay:0.5s}
.nav ul li a{background:#7770B4;border-color:#6E67A6;color:#fff;line-height:1px;-webkit-transition:1.5s;transition:1.5s}
.nav li:hover ul li a{line-height:35px}

有点遗憾的是上面这个不支持三级菜单,经过了一番折腾,改为菜单不是以高度为0,而是设置为visibility:hidden;和opacity:0;代码如下:

.nav ul{left:0; position:absolute;top:100%; min-width: 120px; visibility: hidden; opacity: 0;}
.nav li ul li{opacity:0; -webkit-transition:0.5s;transition:0.5s;width:100%;-webkit-transition-delay:0s;transition-delay:0s}
.nav li:hover > ul{opacity: 1; visibility: visible;}
.nav li:hover > ul > li{opacity:1;-webkit-transition-delay:0.5s;transition-delay:0.5s}
.nav ul li a{background:#7770B4;border-color:#6E67A6;color:#fff;line-height:1px;-webkit-transition:1.5s;transition:1.5s; white-space: nowrap;}
.nav li:hover > ul > li a{line-height:35px}
.nav ul ul{left:100%; top:0;}

使用CSS做出来的下拉菜单不兼容IE66(IE6不支持:hover伪类选择符).而IE8及以下则是不支持一些CSS3属性,比如opacity、transition等。

总体上来说兼容IE7及以上的所有浏览器,所以如果你需要兼容IE6.可以添加一些js使其支持访问。不过我的建议是你现在应该放弃IE6了。

总体上来说第一种效果是比较适合,而且代码简单,兼容性比较好。

演示地址

推荐资源

http://cssdeck.com/labs/collection-of-menu-effects

http://cssdeck.com/labs/css3-scroll-drop-down-menu

时间: 2024-12-13 21:42:12

超赞的CSS3动画下拉菜单的相关文章

html 布局;css3+jq 下拉菜单;table分页动态添加行;html5本地存储;简单易用的html框架

简单好用的html框架,预览图见最后: 源码: 1.页面布局使用table: table 嵌套 +iframe 布局: 2.下拉菜单为jq+css3 动画; css input 无边框,select下拉菜单美化 1 input{appearance:none;background-color:transparent;border: solid 0px #000;} /*input 无边框*/ 2 input:disabled{background-color:#d2d2d2;border:0px

Html5+Css3制作下拉菜单的三种方式

一.渐变式改变ol的高度 1.外部为ul标签,在每个li里嵌套一个ol列表2.设置外部li左浮动,内部ol标签绝对定位,外部li标签相对定位3.设置ol的高为0,溢出隐藏4.外部li标签:hover 时,设置ol的高度,transition渐变 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>&l

小米网css3导航下拉菜单代码

效果:http://hovertree.com/texiao/css3/19/ 代码如下: 1 <!doctype html> 2 <!-- W3C规范 --> 3 <html lang="zh"> 4 <!-- 声明 --> 5 <head> 6 <meta charset="UTF-8"> 7 <!-- 声明当前页面的三要素 --> 8 <title>CSS3菜单仿小

纯CSS3实现淡入淡出下拉菜单

纯CSS3实现淡入淡出下拉菜单是一款比较简单清新的CSS3教程下拉菜单,这款下拉菜单是垂直方向的,点击主菜单项可以展开和折叠子菜单,在展开折叠的过程中伴随着淡入淡出的动画效果 源代码:http://www.huiyi8.com/css3/ 纯CSS3实现淡入淡出下拉菜单,布布扣,bubuko.com

【CSS3动画】下拉菜单模拟

下拉菜单模拟效果图: CSS3: <style> #box{width:200px; height:50px; overflow:hidden; cursor: pointer; transition: all 0.35s;} #box:hover{height:250px;} #box ul{list-style:none; margin:0; padding:0;} #box ul li{width:198px; height:48px; line-height: 50px; text-a

jQuery和CSS3超酷二级下拉菜单插件

这是一款效果很酷又简单实用的jQuery二级下拉菜单特效,该特效在点击触发按钮后,二级下拉菜单会向下滑动覆盖原来的主菜单,关闭后二级下拉菜单又向上滑动回去,二级菜单不占用多余的空间. 这个菜单插件是替代标准的二级下拉菜单的好方法,特别是在你想显示更多的二级子菜单的时候.另外,你可以十分容易的自定义二级下拉菜单的样式,多添加一个搜索框或登录注册表单等等. 在线演示:http://www.htmleaf.com/Demo/201502271428.html 下载地址:http://www.htmle

用bootstrap和css3制作按钮式下拉菜单

利用bootstrap框架的字体图标和下拉菜单效果,以及css3的动画效果,可以做出比较优雅的按钮式下拉菜单样式 <style> .myBtnStyle .dropdown-menu span{ margin:5px; } .myBtnStyle .dropdown-menu { animation: 0.5s linear fadeIn; //css3新特性animation } @keyframes fadeIn { //通过keyframes规则创建动画特效,原理为将一套css样式逐渐转

html5 + css3 带音效下拉菜单的实现

原文:scripts tutorials    (来自脚本教程网的教程,翻译可能有些不对...想要试试 音效下拉菜单 在这个教程中我们将讲述如何开发酷炫的音效下拉菜单(html5 + css3).下拉菜单有css3动画效果(菜单元素有整洁的悬浮特效)同时也使用了html5的Audio元素来添加菜单的音效,准备好了吗?那就开始吧. Musical drop down menu Our new tutorial tells about developing cool musical drop dow

11个优秀的HTML5 &amp; CSS3下拉菜单制作教程

下拉菜单是一个很常见的效果,在网站设计中被广泛使用.通过使用下拉菜单,设计者不仅可以在网站设计中营造出色的视觉吸引力,但也可以为网站提供了一个有效的导航方案.使用HTML5和CSS3可以更容易创造视觉上充满吸引力的下拉菜单. 1.Stunning Menu in CSS3 效果很精美CSS3菜单,可以让给你的网站提升一个层次.制作教程非常详细. 在线演示 源码下载 2.Click action Multi-level CSS3 Dropdown Menu 这是一个点击弹出的下拉菜单,传统的下拉菜