超赞的CSS3动画下拉菜单

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

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

CSS3动画下拉菜单

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

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

.site-navigation ul ul{min- 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也可以让菜单动起来了。

演示地址

CSS3动画下拉菜单

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

.nav ul{height:0;overflow:hidden;left:0; top:100%;position:absolute;}
.nav li:hover ul{height:auto;180px}
.nav li ul li{opacity:0;-webkit-transition:0.5s;transition:0.5s;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- 120px; visibility: hidden; opacity: 0;}
.nav li ul li{opacity:0; -webkit-transition:0.5s;transition:0.5s;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

免责声明:文章转载自《超赞的CSS3动画下拉菜单》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【Debian】时间设置【原创+亲测可用】JS如何区分微信浏览器、QQ浏览器和QQ内置浏览器下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vue cli 3

介绍 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统 通过 @vue/cli 搭建交互式的项目脚手架。 通过 @vue/cli + @vue/cli-service-global 快速开始零配置原型开发。 一个运行时依赖 (@vue/cli-service) 一个开发环境依赖,局部安装在每个 @vue/cli 创建的项目中。 可升...

vue-构建app项目

以下记录vue-cli 3构建app项目的步骤。 一、初始化配置,并运行启动app 1、安装nodeJS,git ,配置环境,Vue CLI 3.x 需要 Node.js 8.9 或更高版本 (推荐 8.11.0+)。 2、安装vue-cli ,命令:npm install -g @vue/cli 3、创建项目:vue create mapp-demo 推...

前端性能优化常用方法

网页内容 1.1 减少http请求次数 1.1.1捆绑文件 通过一些现成的库将多个脚本文件捆绑成一个文件,将多个样式表文件捆绑成一个文件,以此来减少文件的下载次数。 1.1.2CSS Sprites 把多个图片拼成一副图片,然后通过CSS来控制需要显示图片的位置( CSS Sprites Generator) 1.1.3Inline images 通过Ba...

webpack4.x抽取css【extract-text-webpack-plugin与mini-css-extract-plugin】

参考文档:https://www.npmjs.com/package/extract-text-webpack-pluginhttps://www.npmjs.com/package/mini-css-extract-plugin 项目的初始诉求是利用webpack来管理css(合并),并增加hash(性能优化),当前项目使用webpack版本为4.6.0...

CSS3——对齐 组合选择符 伪类 伪元素 导航栏 下拉菜单

 水平&垂直对齐 元素居中对齐 .center { margin: auto; 50%; border: 3px solid green; padding: 10px; } 文本居中对齐 .center { text-align: center; border: 3px solid green;...

Web前端开发规范

Web前端开发规范 一、前端开发规范目的 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规范文档一经确认, 前端开发人员必须按本文档规范进行前台页面开发. 本文档如有不对或者不合适的地方请及时提出, 经讨论决定后方可更改. 二、基本准则 符合web标准, 语义化html标签; 结构、表现、行为三者相互...