运用before 、after、border-color、border 编织ribbon

此文关于如何利用border、border-color、绝对定位,绘制特殊形状的三角形。

在网上经常看到别人制作的非长方形的导航条,这里借鉴学习制作一个,仅作练习,注意:最新的火狐、遨游、谷歌等浏览器支持,ie9及ie以下不支持,ie10暂未测试。

下面是html部分:

<div class="nav"><ul><li><a href="http://www.cnblogs.com/web-sheena">首页</a></li><li><a href="http://www.cnblogs.com/web-sheena">活动</a></li><li><a href="http://www.cnblogs.com/web-sheena">基金</a></li><li><a href="http://www.cnblogs.com/web-sheena">同城</a></li><li><a href="http://www.cnblogs.com/web-sheena">学校</a></li></ul></div>

css3代码部分:

.nav_warp{margin:20px auto;position:relative;z-index:1;padding:50px 0;width:960px;background:#fff; border-radius:0 10px 0 10px;-moz-border-radius:0 10px 0 10px;-webkit-border-radius:0 10px 0 10px;box-shadow:0px 0px 10px rgba(0,0,0,0.2);}
.nav{width:960px;background: hsla(315,40%,60%,1);font:bold 16px/48px "微软雅黑", "宋体" ;position:relative;box-shadow: 0 0 10px rgba(0,0,0,.2),0 0 10px rgba(0,0,0,.1) inset;text-shadow: 1px 10px 10px hsla(20,50%,30%,0.4)}
.nav::before,.nav::after{content:"";position: absolute;width: 0;height:0;border: 24px solid hsla(315,30%,60%,0.8);top:10px;z-index: -1;}
.nav::before{border-left-color:transparent ;right:100%;margin-right:-10px;}
.nav::after{border-right-color:transparent;left:100%;margin-left:-10px;}
.nav ul::before,.nav ul::after{position:absolute;z-index:1;border:5px solid transparent;content:"";top:100%;height:0;widht:0;}
.nav ul::before{border-color: hsla(315,28%,50%,0.95) hsla(315,28%,50%,0.95) transparent transparent;left:0;}
.nav ul::after{border-color: hsla(315,28%,50%,0.95) transparent transparent hsla(315,28%,50%,0.95);right:0;}
.nav ul{text-align:center;}
.nav ul li {display:inline;line-height:48px;padding:0 40px;}
.nav ul li a{color:#fff; text-decoration:none;}

 

测试效果如图:

ps:可以再添加一些其他的效果:“首页”等链接文字当鼠标在上面的效果,这里就做到这里。

posted @ 2012-11-05 18:06  sheena的世界  阅读(1271)  评论(0编辑  收藏  举报