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

今天我们来介绍一款很有创意的CSS3/HTML5菜单,首先菜单是飘带形状的,看起来很优雅,这种菜单在个人博客中用的比较多,不仅干净利落,而且很具有个性化。另外,这款菜单在鼠标滑过菜单项时,将会出现3D的凸起效果,并且会改变菜单项的背景颜色,效果非常的酷,你可以从在线演示中查看这一效果。

css3-3d-ribbon-menu

你也可以在这里查看在线演示

下面我们来一起看看实现这款CSS3飘带菜单的具体过程以及源代码。源码主要由HTML代码和CSS代码组成,还比较简单。

HTML代码:

<div class=’ribbon’>
<a href=’#'><span>Home</span></a>
<a href=’#'><span>About</span></a>
<a href=’#'><span>Services</span></a>
<a href=’#'><span>Contact</span></a>
</div>

看HTML代码非常简单,几个a标签就把菜单的结构描述清楚了,当然主要还是看CSS代码。

CSS代码:

.ribbon {
display:inline-block;
}

.ribbon:after, .ribbon:before {
margin-top:0.5em;
content: “”;
float:left;
border:1.5em solid #fff;
}

.ribbon:after {
border-right-color:transparent;
}

.ribbon:before {
border-left-color:transparent;
}

.ribbon a:link, .ribbon a:visited {
color:#000;
text-decoration:none;
float:left;
height:3.5em;
overflow:hidden;
}

.ribbon span {
background:#fff;
display:inline-block;
line-height:3em;
padding:0 1em;
margin-top:0.5em;
position:relative;

-webkit-transition: background-color 0.2s, margin-top 0.2s; /* Saf3.2+, Chrome */
-moz-transition: background-color 0.2s, margin-top 0.2s; /* FF4+ */
-ms-transition: background-color 0.2s, margin-top 0.2s; /* IE10 */
-o-transition: background-color 0.2s, margin-top 0.2s; /* Opera 10.5+ */
transition: background-color 0.2s, margin-top 0.2s;
}

.ribbon a:hover span {
background:#FFD204;
margin-top:0;
}

.ribbon span:before {
content: “”;
position:absolute;
top:3em;
left:0;
border-right:0.5em solid #9B8651;
border-bottom:0.5em solid #fff;
}

.ribbon span:after {
content: “”;
position:absolute;
top:3em;
right:0;
border-left:0.5em solid #9B8651;
border-bottom:0.5em solid #fff;
}

这里我们又一次应用了CSS3的:before和:after伪类对象,设置了菜单项前后的内容,并做了样式渲染,实现了鼠标滑过菜单项出现凸起的立体效果。

好了,就这么简单,你可以下载源代码去试试,或者修改一些参数看看其中的奥妙在哪里。源码下载>>

posted @ 2014-08-14 08:48  html5tricks  阅读(3119)  评论(13编辑  收藏  举报