• 超赞的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

  • 相关阅读:
    matplotlib实战
    matplotlib常用操作2
    matplotlib 常用操作
    pandas总结
    朴素贝叶斯算法python实现
    什么叫“回归”——“回归”名词的由来&&回归与拟合、分类的区别 && 回归分析
    Latex常用整理
    准备尝试openFrameworks
    常用工具库总结
    K-Means和K Nearest Neighbor
  • 原文地址:https://www.cnblogs.com/cyweb/p/4120788.html
Copyright © 2020-2023  润新知