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

简介: 原文:用CSS3制作很特别的波浪形菜单网页菜单我们见过很多,各种炫酷的、实用的菜单比比皆是。昨天我看到一款很特别的CSS3菜单,它的外形是波浪形的,弯弯曲曲,结合背景,看上去还挺不错的,下面看下一效果图。
原文: 用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个子元素。

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

目录
相关文章
|
2月前
|
前端开发
导航新风尚:CSS梯形设计,让网站菜单不再单调!
导航新风尚:CSS梯形设计,让网站菜单不再单调!
|
10月前
|
前端开发
HTML+CSS实现菜单的3D翻转特效
HTML+CSS实现菜单的3D翻转特效
|
JavaScript 前端开发
CSS进阶向--配合Vue动态样式实现“超炫酷”圆环菜单
CSS进阶向--配合Vue动态样式实现“超炫酷”圆环菜单
839 2
CSS进阶向--配合Vue动态样式实现“超炫酷”圆环菜单
|
前端开发
CSS 等距菜单悬停效果
纯HTML和CSS实现立体等距菜单悬停,动态效果由CSS实现
CSS 等距菜单悬停效果
|
前端开发 JavaScript
CSS实现背景跟随滑动的按钮菜单效果
通过transition过渡属性,可以将相关css属性的变化,改为一个持续一段时间的连续过程,而不是使css样式的改变立即生效,其过程按照指定的曲线速率变化......
519 0
CSS实现背景跟随滑动的按钮菜单效果
|
前端开发 JavaScript 程序员
H5+css——JavaScript之隐藏式侧边栏菜单的实现
H5+css——JavaScript之隐藏式侧边栏菜单的实现
382 0
H5+css——JavaScript之隐藏式侧边栏菜单的实现
|
前端开发
HTMl+CSS制作二级菜单或二级导航栏
 二级菜单的实现思路为: 1.在默认状态下,使用display:none;将二级菜单隐藏。  2.当一级菜单中的列表标签li获取焦点(hover)后,使用display:blick;将二级菜单显示出来。  3.使用position: relative;和position: absolute;分别得一级菜单和二级菜单设置相对定位和绝对定位。
1202 0
HTMl+CSS制作二级菜单或二级导航栏
纯CSS3垂直动画菜单
在线演示 本地下载
1013 0
CSS3垂直图标菜单
在线演示 本地下载
840 0
CSS3 3D折叠展开动画菜单
在线演示 本地下载
1611 0