基于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

时间: 2024-08-29 16:15:11

基于CSS3飘带状3D菜单 菜单带小图标的相关文章

CSS3飘带状3D菜单

在线演示 本地下载 原文地址:https://www.cnblogs.com/qixidi/p/10052414.html

基于css3的文字3D翻转特效

一款基于css3的文字3D翻转特效.这款特效当鼠标经过文字的时候3D翻转显示阴影.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="component"> <ul class="grid"> <li> <div class="codrops-header"> <h1> Animated Opening Type</h1> </d

精美的HTML5/CSS3表单 带小图标

今天我们要来分享一款非常精美的HTML5/CSS3表单,准备地说,这是一款经过美化的input输入表单,每一个输入表单都可以定义其两侧的小图标,非常华丽.另外,这款表单应用还采用了3种不同的风格主题,你可以在演示页的菜单栏中选择一种样式.需要高版本的浏览器才能支持. 你也可以在这里在线演示 下面我们来简单分析一下这款表单的源代码,源代码由HTML代码.CSS代码及Javascript代码组成.一共3组样式,我们只对其中一组作解说. HTML代码: <ul data-for="prefix&

CSS3带小图标垂直下拉菜单

在线演示 本地下载 原文地址:https://www.cnblogs.com/qixidi/p/10061730.html

超酷 CSS3/HTML5 3D 飘带菜单实现教程

今天我们来介绍一款很有创意的CSS3/HTML5菜单,首先菜单是飘带形状的,看起来很优雅,这种菜单在个人博客中用的比较多,不仅干净利落,而且很具有个性化.另外,这款菜单在鼠标滑过菜单项时,将会出现3D的凸起效果,并且会改变菜单项的背景颜色,效果非常的酷,你可以从在线演示中查看这一效果. 你也可以在这里查看在线演示 下面我们来一起看看实现这款CSS3飘带菜单的具体过程以及源代码.源码主要由HTML代码和CSS代码组成,还比较简单. HTML代码: <div class=’ribbon’> <

基于CSS3制作的鼠标悬停动画菜单

之前分享了好多款css3实现的鼠标悬停效果.今天再给大家带来一款基于CSS3制作的鼠标悬停动画菜单.这款菜单适用浏览器:360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗. 不支持IE8及以下浏览器.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="page"> <section class="demo"> <nav class="nav"&

3D旋转菜单

今天来个3D旋转菜单,是纯css3实现的,主要用到transform,transition,backface-visibility. 主要是transform这个变换,它是今天猪脚. transform里有transform-style 属性规定如何在 3D 空间中呈现被嵌套的元素. transform-origin 属性允许您改变被转换元素的位置. backface-visibility 属性定义当元素不面向屏幕时是否可见. 代码: <!DOCTYPE html> <html lang

【小松教你手游开发】【系统模块开发】做一个3d旋转菜单

在unity做一个3d旋转菜单,像乱斗西游2的这种: 暂时有两种方法可以实现: 一.当做是2d界面,通过定义几个固定点的坐标.大小.透明度,还有每个点的panel depth大小,把数据存储下来,在手机滑动的过程中计算滑动划过的距离和这个panel大小的比值,乘以两个点之间的距离,获得坐标点移动的距离,通过改变x轴改变位置,同理改变大小和透明度. 这个方法我自己做2d游戏的时候实现过,做起来比较简单,没有什么可拓展性可言,并且会有很多限制,比如拖动过程中很难转变方向.要自己实现运动中的弹性(这里

基于bootstrap的后台二级垂直菜单

最近做一个后台的管理项目,用到了Twitter推出的bootstrap前端开发工具包,是一个基于css3/html5的框架.花周末时间,写了一个非常简单后台的菜单.本着开源的精神,现在把它分享出来(呵呵,前端的老鸟就不要看啦!).首先,看一下菜单的结构: 预览地址 :http://www.huosen.net/demo/bootstrap-menu/index.htmlcss的代码为: /*左侧菜单*/ .sidebar-menu{ border-right: 1px solid #c4c8cb