zoukankan      html  css  js  c++  java
  • 基于CSS3飘带状3D菜单 菜单带小图标

    这次我们要来分享一款很特别的CSS3菜单,菜单的外观是飘带状的,并且每一个菜单项有一个精美的小图标,鼠标滑过菜单项时,菜单项就会向上凸起,像是飘带飘动一样,形成非常酷的3D视觉效果。这款CSS3飘带状3D菜单非常适合作一些活动页面的菜单导航。

    在线预览   源码下载

    实现的代码。

    htmll代码:

     <nav>
            <menu>
                <li><a href="#"><span>t</span> <span>twitter</span> </a></li>
                <li id="at"><a href="#"><span>c</span> <span>codepen</span> </a></li>
                <li><a href="#"><span>d</span> <span>dribbble</span> </a></li>
                <li><a href="#"><span>g</span> <span>google+</span> </a></li>
            </menu>
            <div class="ribbon left">
            </div>
            <div class="ribbon right">
            </div>
        </nav>

    css代码:

     *
            {
                padding: 0;
                margin: 0;
                border: 0;
            }
            *:after, *:before
            {
                display: block;
                content: "";
                position: absolute;
            }
            body
            {
                background-color: #3d332a;
                background-image: url('9690bg.jpg');
                padding-top: 50px;
            }
            nav
            {
                width: 476px;
                margin: auto;
                position: relative;
            }
            menu:after, menu:before
            {
                top: 0;
                width: 60px;
                height: 76px;
                background: #eae2d5;
            }
            menu:after
            {
                clear: both;
                right: -61px;
                border-right: 1px solid #857e74;
            }
            menu:before
            {
                left: -55px;
                border-left: 1px solid #857e74;
            }
            .ribbon
            {
                position: absolute;
                top: 76px;
                border-style: solid;
                border-width: 13px;
            }
            .ribbon.left
            {
                left: -55px;
                border-color: #857e74 #857e74 transparent transparent;
            }
            .ribbon.right
            {
                left: 511px;
                border-color: #857e74 transparent transparent #857e74;
            }
            .left:after, .left:before
            {
                left: -68px;
                border-style: solid;
                z-index: -2;
            }
            .left:after
            {
                top: -68px;
                border-width: 58px 0 0 56px;
                border-color: #eae2d5 transparent transparent transparent;
            }
            .left:before
            {
                top: -26px;
                border-width: 0 40px 38px 41px;
                border-color: transparent transparent #eae2d5 transparent;
            }
            .right:after, .right:before
            {
                right: -65px;
                border-style: solid;
                z-index: -2;
            }
            .right:before
            {
                top: -25px;
                border-width: 0 40px 38px 38px;
                border-color: transparent transparent #eae2d5 transparent;
            }
            .right:after
            {
                top: -65px;
                border-width: 58px 56px 0 0;
                border-color: #eae2d5 transparent transparent transparent;
            }
            li
            {
                float: left;
                position: relative;
                margin-left: 33px;
                cursor: pointer;
                background-color: #eae2d5;
                list-style-type: none;
                border-left: 2px solid #d7cfc2;
                border-right: 2px solid #d7cfc2;
                transition: margin .1s ,padding .1s ,border 1s;
            }
            li:first-child
            {
                margin-left: 20px;
            }
            li:before, li:after
            {
                display: block;
                position: absolute;
                top: 0;
                width: 20px;
                height: 100%;
                background: inherit;
                transition: all .1s;
            }
            li:before
            {
                right: 100%;
            }
            li:after
            {
                left: 100%;
            }
            li:hover
            {
                margin-top: -9px;
                box-shadow: 0 4px 10px 0px #000;
                transition: margin .2s ,padding .2s;
            }
            li:hover:before, li:hover:after
            {
                height: 86%;
                background: #d7cfc2;
                transition: all .2s;
            }
            li:hover:before
            {
                transform: rotate(-30deg) skew(-30deg) translate(1.5px,9px);
            }
            li:hover:after
            {
                transform: rotate(30deg) skew(30deg) translate(-1.5px,9px);
            }
            a
            {
                display: block;
                padding: 10px 15px;
                text-decoration: none;
                text-align: center;
            }
            a span
            {
                text-shadow: 1px 1px 1px #FFF;
                color: #857e74;
                transition: all .2s;
            }
            a span:first-child
            {
                font-family: icon;
                font-size: 33px;
                display: block;
            }
            a span:last-child
            {
                text-transform: capitalize;
                font-family: 'Georgia';
                font-size: 11px;
                letter-spacing: 1px;
                font-style: italic;
                color: #6488ba;
            }
            li:hover span
            {
                transition: all .2s;
            }
            li:hover a span:first-child
            {
                color: #6488ba;
                text-shadow: 1px 1px 1px #FFF , 0 0 1px #6488ba;
            }
            li:hover a span:last-child
            {
                color: #857e74;
            }
            @font-face
            {
                font-family: icon;
                src: url('http://bennettfeely.com/fonts/icons.woff');
            }

    via:http://www.w2bc.com/Article/27670

  • 相关阅读:
    libcurl返回常见错误码
    NSIS控制面板中显示安装包的大小和禁止多个安装程序实例
    NSIS+Duilib 制作Windows安装包
    给自己的程序添加BugReport
    使用Http协议Post上传文件
    tp剩余未验证内容-2
    tp剩余未验证内容
    再谈 tp的 实例化 类 的自动加载
    tp框架中的一些疑点知识-8
    tp框架中的一些疑点知识--cookie和session的配置
  • 原文地址:https://www.cnblogs.com/liaohuolin/p/4346947.html
Copyright © 2011-2022 走看看