用CSS3制作很特别的波浪形菜单

CSS3波浪形菜单
本文介绍了一款使用CSS3实现的独特波浪形菜单。通过巧妙地运用transform属性中的rotate和skewY方法,实现了菜单项的波浪形状。文章提供了HTML结构及CSS样式代码示例。
原文: 用CSS3制作很特别的波浪形菜单

网页菜单我们见过很多,各种炫酷的、实用的菜单比比皆是。昨天我看到一款很特别的CSS3菜单,它的外形是波浪形的,弯弯曲曲,结合背景,看上去还挺不错的,下面看下一效果图。

我想说可能菜单并不是很实用,但是很有创意,而且也方便我们学习CSS3。

当然,你可以到这里查看DEMO演示

接下来我们来对这款波浪形菜单的源代码简单分析一下。

HTML代码的结构非常简单:

<nav class='b-nav'>
  <ul class='b-menu'>
    <li><a href='#'></a></li>
    <li><a href='#'></a></li>
    <li><a href='#'></a></li>
    <li><a href='#'></a></li>
    <li><a href='#'></a></li>
    <li><a href='#'></a></li>
  </ul>
</nav>

然后是CSS代码,这里我们对菜单项进行绝对定位

.b-menu li {
  overflow: hidden;
  position: absolute;
  width: 12em; height: 12em;
}

接着就是重点的波浪形效果的CSS代码了,这里主要利用了CSS3的transform动画属性,利用rotate进行旋转,skewY进行y轴倾斜。

.b-menu li:nth-child(-n+3) {
  top: 0.66em; left: -5.68em;
  transform-origin: 100% 100%;
}
.b-menu li:nth-child(n+4) {
  right: -5.69em; bottom: 0.66em;
  transform-origin: 0 0;
}
.b-menu li:first-child {
  transform: skewY(67.5deg);
}
.b-menu li:nth-child(2) {
  transform: rotate(22.5deg) skewY(67.5deg);
}
.b-menu li:nth-child(3) {
  transform: rotate(45deg) skewY(67.5deg);
}
.b-menu li:nth-child(4) {
  transform: skewY(67.5deg);
}
.b-menu li:nth-child(5) {
  transform: rotate(22.5deg) skewY(67.5deg);
}
.b-menu li:last-child {
  transform: rotate(45deg) skewY(67.5deg);
}
.b-menu a, .b-menu li:after {
  position: absolute;
  border-radius: 50%;
  box-shadow: 0 0 .2em black, inset 0 0 .2em black;
  transform: skewY(-67.5deg) rotate(-11.25deg);
}

这里说明一下nth-child(n),它表示该父元素的第n个子元素。

最后附上该波浪形菜单的源代码。源码下载地址>>

posted on 2014-04-12 20:09 NET未来之路 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/3661125.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值