您的位置:首页 > Web前端 > CSS

基于CSS3飘带状3D菜单 菜单带小图标

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



在线预览 源码下载

实现的代码。

htmll代码:

Html代码


<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代码:

Html代码


*

{

padding: 0;

margin: 0;

border: 0;

}

*:after, *:before

{

display: block;

content: "";

position: absolute;

}

body

{

#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;

#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');

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: