CSS3教程

当前位置: HTML5技术网 > CSS3教程 > 一款非常棒的纯CSS3 3D菜单演示及制作教程

一款非常棒的纯CSS3 3D菜单演示及制作教程

       这段时间比较忙,很久没在这里分享一些漂亮的HTML5和CSS3资源了,今天起的早,看到一款很不错的CSS3 3D菜单,觉得非常上眼,就将它分享给大家,顺便来分析一下实现的源码。下面是效果图:





     看了效果图是不是觉得它是一副**,对,第一眼我也认为是用CSS3写的**特效,结果我错了,它只是长得比较像而已。

另外,你也可以在这里直接查看菜单的DEMO演示。

接下来再分析一下实现这款3D菜单的源代码。

代码主要由HTML和CSS3组成,应该说还是比较简单的。

首先是HTML代码:


  1. <ul><li><a class='list-item' href=''><i class='icon-reorder'></i></a></li><li><a class='list-item' href=''><i class='icon-th-large'></i></a></li><li><a class='list-item' href=''><i class='icon-bar-chart'></i></a></li><li><a class='list-item' href=''><i class='icon-tasks'></i></a></li><li><a class='list-item' href=''><i class='icon-bell'></i></a></li><li><a class='list-item' href=''><i class='icon-archive'></i></a></li><li><a class='list-item' href=''><i class='icon-comment'></i></a></li><li><a class='list-item' href=''><i class='icon-sitemap'></i></a></li><li><a class='list-item' href=''><i class='icon-thumbs-up'></i></a></li><li><a class='list-item' href=''><i class='icon-tumblr'></i></a></li></ul>
复制代码


这里用了标准的ul li列表来构建菜单的HTML框架,层次非常清晰。

接下来重点是CSS代码,如何用CSS3的特性来实现菜单的侧躺和阴影效果,从来让其看起来呈3D的状态。


  1. ul {position: relative;-webkit-transform: rotate(-35deg) skew(20deg, 5deg);-moz-transform: rotate(-35deg) skew(20deg, 5deg);-ms-transform: rotate(-35deg) skew(20deg, 5deg);-o-transform: rotate(-35deg) skew(20deg, 5deg);transform: rotate(-35deg) skew(20deg, 5deg);}
复制代码


      上面的这几行代码很关键,我们也可以看出用了CSS3的transform属性的rotate()实现菜单整体旋转一定角度,然后用skew()让菜单倾斜一个角度,这样菜单就开始有3D立体的感觉了。


      接下来是每一个菜单项的样式:


  1. .list-item {background: #000000;color: #575757;text-align: center;height: 2.5em;width: 4em;vertical-align: middle;line-height: 2.5em;border-bottom: 1px solid #060606;position: relative;display: block;text-decoration: none;-webkit-box-shadow: -2em 1.5em 0 #e1e1e1;-moz-box-shadow: -2em 1.5em 0 #e1e1e1;box-shadow: -2em 1.5em 0 #e1e1e1;-webkit-transition: top 0.25s linear, left 0.25s linear, background 0.1s linear, color 0.1s linear;-moz-transition: top 0.25s linear, left 0.25s linear, background 0.1s linear, color 0.1s linear;-o-transition: top 0.25s linear, left 0.25s linear, background 0.1s linear, color 0.1s linear;transition: top 0.25s linear, left 0.25s linear, background 0.1s linear, color 0.1s linear;}.list-item:hover {background: #ff6e42;color: #fffcfb;top: -0.5em;left: 0.5em;-webkit-transition: top 0.25s linear, left 0.25s linear, background 0.1s linear, color 0.1s linear;-moz-transition: top 0.25s linear, left 0.25s linear, background 0.1s linear, color 0.1s linear;-o-transition: top 0.25s linear, left 0.25s linear, background 0.1s linear, color 0.1s linear;transition: top 0.25s linear, left 0.25s linear, background 0.1s linear, color 0.1s linear;-webkit-box-shadow: -2em 2em 0 #e1e1e1;-moz-box-shadow: -2em 2em 0 #e1e1e1;box-shadow: -2em 2em 0 #e1e1e1;}.list-item:hover:before, .list-item:hover:after {-webkit-transition: all 0.25s linear;-moz-transition: all 0.25s linear;-o-transition: all 0.25s linear;transition: all 0.25s linear;}.list-item:hover:before {background: #b65234;width: 1em;top: 0.5em;left: -1em;}.list-item:hover:after {background: #b65234;width: 1em;bottom: -2.5em;left: 1em;height: 4em;}.list-item:before, .list-item:after {-webkit-transition: all 0.25s linear;-moz-transition: all 0.25s linear;-o-transition: all 0.25s linear;transition: all 0.25s linear;}.list-item:after {content: "";position: absolute;height: 4em;background: #181818;width: 0.5em;bottom: -2.25em;left: 1.5em;-webkit-transform: rotate(90deg) skew(0deg, 45deg);-moz-transform: rotate(90deg) skew(0deg, 45deg);-ms-transform: rotate(90deg) skew(0deg, 45deg);-o-transform: rotate(90deg) skew(0deg, 45deg);transform: rotate(90deg) skew(0deg, 45deg);}.list-item:before {content: "";position: absolute;height: 2.5em;background: #121212;width: 0.5em;top: 0.215em;left: -0.45em;-webkit-transform: skewY(-45deg);-moz-transform: skewY(-45deg);-ms-transform: skewY(-45deg);-o-transform: skewY(-45deg);transform: skewY(-45deg);}
复制代码

        我们可以看到用了shadow实现每一个菜单项都有投影,至此,整个菜单的3D效果就已经渲染完了。

        另外就是鼠标滑过菜单项的效果,利用了CSS3的动画特性让菜单项背景色渐变,形成凸起的效果。

        整个实现就是这样了,你可以下载源代码,下载地址>>


【一款非常棒的纯CSS3 3D菜单演示及制作教程】相关文章

1. 一款非常棒的纯CSS3 3D菜单演示及制作教程

2. 10 款非常棒的CSS代码格式化工具推荐

3. 10个很棒的 jQuery 插件和制作教程

4. 7款非常实用的jQuery/CSS3插件演示和源码

5. 7款非常实用的jQuery/CSS3插件演示和源码

6. CSS3火焰文字特效制作教程

7. 超简单的纯CSS3加载中效果

8. 一款非常好玩的对对碰游戏

9. 一款非常轻量的延迟加载插件

10. 纯css3 transforms 3D文字翻开翻转3D开放式效果

本文来源:https://www.51html5.com/a1045.html

点击展开全部

﹝一款非常棒的纯CSS3 3D菜单演示及制作教程﹞相关内容

「一款非常棒的纯CSS3 3D菜单演示及制作教程」相关专题

其它栏目

也许您还喜欢