CSS3_3D导航栏

最近做了一个效果比较差的3d导航栏,(后续会更新,因为效果差的无以复加)

以此文鞭策自己。

贴上代码:

  1 <!DOCTYPE HTML>
  2 <html>
  3     <head>
  4         <title>css3-3d导航栏</title>
  5         <meta charset="utf-8" />
  6         <style type="text/css">
  7             *{
  8                 padding: 0;
  9                 margin: 0;
 10                 text-shadow:none;
 11             }
 12             ul{
 13                 list-style: none;
 14             }
 15             a{
 16                 text-decoration: none;
 17                 color: #fff;
 18             }
 19             .wrapper{
 20                 width: 600px;
 21                 margin: 100px auto;
 22             }
 23             .nav{
 24                 position: relative;
 25
 26                 /*-webkit-perspective:1000;     Safari 和 Chrome */
 27             }
 28             .nav li{
 29                 text-align: center;
 30                 color: #fff;
 31                 font-size: 20px;
 32                 font-weight: bold;
 33                 line-height: 60px;
 34                 border-right:1px solid #94c0be;
 35             }
 36             .three-d{
 37                 height: 60px;
 38                 width: 120px;
 39                 float: left;
 40                 position: relative;
 41
 42                 transform-style:preserve-3d;
 43                 -webkit-transform-style:preserve-3d;
 44                 -moz-transform-style:preserve-3d;
 45                 -ms-transform-style:preserve-3d;
 46                 -o-transform-style:preserve-3d;
 47
 48                 transition:all .5s linear;
 49                 -webkit-transition:all .5s linear;
 50                 -moz-transition:all .5s linear;
 51                 -ms-transition:all .5s linear;
 52                 -o-transition:all .5s linear;
 53             }
 54             .three-d a{
 55                 height: 60px;
 56                 width: 120px;
 57                 background: #74adaa;
 58                 position: absolute;
 59                 left: 0px;
 60                 top: 0px;
 61             }
 62             .page1{
 63                 transform:translateZ(30px);
 64                 -webkit-transform:translateZ(30px);
 65                 -moz-transform:translateZ(30px);
 66                 -ms-transform:translateZ(30px);
 67                 -o-transform:translateZ(30px);
 68             }
 69             .page2{
 70                 transform:rotateX(90deg) translateZ(30px);
 71                 -webkit-transform:rotateX(90deg) translateZ(30px);
 72                 -moz-transform:rotateX(90deg) translateZ(30px);
 73                 -ms-transform:rotateX(90deg) translateZ(30px);
 74                 -o-transform:rotateX(90deg) translateZ(30px);
 75             }
 76             .three-d:hover{
 77                 transform:rotateX(-90deg) translateY(30px);
 78                 -webkit-transform:rotateX(-90deg) translateY(30px);
 79                 -moz-transform:rotateX(-90deg) translateY(30px);
 80                 -ms-transform:rotateX(-90deg) translateY(30px);
 81                 -o-transform:rotateX(-90deg) translateY(30px);
 82             }
 83
 84             .clearfix{
 85                 clear: both;
 86             }
 87             .three-two{
 88                 position: relative;
 89             }
 90             .nav ul{
 91                 position: absolute;
 92                 text-align: left;
 93                 line-height: 60px;
 94                 font-size: 14px;
 95                 top: 60px;
 96                 transform-origin: top;
 97                 -webkit-transform-origin: top;
 98                 -moz-transform-origin: top;
 99                 -ms-transform-origin: top;
100                 -o-transform-origin: top;
101
102                 transform: rotateX(90deg) translateY(30px) translateZ(60px);
103                 -webkit-transform: rotateX(90deg) translateY(30px) translateZ(60px);
104                 -moz-transform: rotateX(90deg) translateY(30px) translateZ(60px);
105                 -ms-transform: rotateX(90deg) translateY(30px) translateZ(60px);
106                 -o-transform: rotateX(90deg) translateY(30px) translateZ(60px);
107
108
109             }
110             .nav ul li{
111                 width: 160px;
112                 border: none;
113             }
114             .nav ul .three-d a{
115                 width: 160px;
116             }
117             .nav>li:hover ul li{
118                 margin-top: 1px;
119
120                 perspective-origin:100% 100%;
121                 -webkit-perspective-origin:100% 100%;
122
123                 transform:transform(0px) translateZ(-500px);
124                 -webkit-transform:transform(0px) translateZ(-500px);
125                 -moz-transform:transform(0px) translateZ(-500px);
126                 -ms-transform:transform(0px) translateZ(-500px);
127                 -o-transform:transform(0px) translateZ(-500px);
128             }
129             .three-d:hover>a{
130                 background-color: #51938F;
131                 background-size: 5px 5px;
132                 background-position: 0 0, 30px 30px;
133                 background-image: -webit-linear-gradient(45deg, #478480 25%, transparent 25%, transparent 75%, #478480 75%, #478480), linear-gradient(45deg, #478480 25%, transparent 25%, transparent 75%, #478480 75%, #478480);
134                   background-image: -moz-linear-gradient(45deg, #478480 25%, transparent 25%, transparent 75%, #478480 75%, #478480), linear-gradient(45deg, #478480 25%, transparent 25%, transparent 75%, #478480 75%, #478480);
135                 background-image: -ms-linear-gradient(45deg, #478480 25%, transparent 25%, transparent 75%, #478480 75%, #478480), linear-gradient(45deg, #478480 25%, transparent 25%, transparent 75%, #478480 75%, #478480);
136                   background-image: -o-linear-gradient(45deg, #478480 25%, transparent 25%, transparent 75%, #478480 75%, #478480), linear-gradient(45deg, #478480 25%, transparent 25%, transparent 75%, #478480 75%, #478480);
137                  background-image: linear-gradient(45deg, #478480 25%, transparent 25%, transparent 75%, #478480 75%, #478480), linear-gradient(45deg, #478480 25%, transparent 25%, transparent 75%, #478480 75%, #478480);
138             }
139         </style>
140
141     </head>
142     <body>
143         <div class="wrapper">
144             <div class="navigation">
145                 <ul class="nav">
146
147                     <li class="three-d">
148                         <a href="#" class="page1">Home</a>
149                         <a href="#" class="page2">Home</a>
150                     </li>
151
152                     <li class="three-d">
153
154                         <a href="#" class="page1">Article</a>
155                         <a href="#" class="page2">Article</a>
156                         <div class="clearfix"></div>
157                          <ul>
158                             <li class="three-d">
159                                 <a href="#" class="page1">css</a>
160                                 <a href="#" class="page2">css</a>
161                             </li>
162                             <li class="three-d">
163                                 <a href="#" class="page1">html</a>
164                                 <a href="#" class="page2">html</a>
165                             </li>
166                         </ul>
167                     </li>
168
169                     <li class="three-d">
170                         <a href="#" class="page1">Comment</a>
171                         <a href="#" class="page2">Comment</a>
172                     </li>
173                     <li class="three-d">
174                         <a href="#" class="page1">Contact</a>
175                         <a href="#" class="page2">Contact</a>
176                     </li>
177                 </ul>
178
179             <div class="clearfix"></div>
180             </div>
181         </div>
182         <script>
183
184
185         </script>
186     </body>
187 </html>

效果展示:

li:hover ul li{
margin-top: 1px;

perspective-origin:100% 100%;
-webkit-perspective-origin:100% 100%;

transform:transform(0px) translateZ(-500px);
-webkit-transform:transform(0px) translateZ(-500px);
-moz-transform:transform(0px) translateZ(-500px);
-ms-transform:transform(0px) translateZ(-500px);
-o-transform:transform(0px) translateZ(-500px);
}
.three-d:hover>a{
background-color: #51938F;
background-size: 5px 5px;
background-position: 0 0, 30px 30px;
background-image: -webit-linear-gradient(45deg, #478480 25%, transparent 25%, transparent 75%, #478480 75%, #478480), linear-gradient(45deg, #478480 25%, transparent 25%, transparent 75%, #478480 75%, #478480);
background-image: -moz-linear-gradient(45deg, #478480 25%, transparent 25%, transparent 75%, #478480 75%, #478480), linear-gradient(45deg, #478480 25%, transparent 25%, transparent 75%, #478480 75%, #478480);
background-image: -ms-linear-gradient(45deg, #478480 25%, transparent 25%, transparent 75%, #478480 75%, #478480), linear-gradient(45deg, #478480 25%, transparent 25%, transparent 75%, #478480 75%, #478480);
background-image: -o-linear-gradient(45deg, #478480 25%, transparent 25%, transparent 75%, #478480 75%, #478480), linear-gradient(45deg, #478480 25%, transparent 25%, transparent 75%, #478480 75%, #478480);
background-image: linear-gradient(45deg, #478480 25%, transparent 25%, transparent 75%, #478480 75%, #478480), linear-gradient(45deg, #478480 25%, transparent 25%, transparent 75%, #478480 75%, #478480);
}
-->

  • Home Home
  • Article Article

    • css css
    • html html
  • Comment Comment
  • Contact Contact

By the way,IE不支持transform-style;所以没有3D效果。

( list-style:none有问题?? )

以上内容,如有错误请指出,不甚感激。

时间: 2024-10-12 23:46:32

CSS3_3D导航栏的相关文章

&lt;iOS 导航栏&gt;第一节:导航栏透明方法实现代码

说下导航栏的透明方法: 很多应用需要导航栏随着向上滑动,逐渐从透明变成不透明,很炫酷,大部分应用都在使用导航栏渐变效果,现附上代码然后直接将实现,一会讲下如何来实现,这一部分直接上代码. 先附上代码: 方法声明: #import <UIKit/UIKit.h> @interface IDSNavBarView : UIView - (instancetype)initWithFrame:(CGRect)frame titleImg:(UIImage *)aTitleImg; - (UILabe

JS学习笔记(一): 使用原生JS 实现导航栏下多级分类弹出效果

在给静态页面静添加交互效果时遇到的问题 : 鼠标划入二级菜单时 一级菜单样 ":hover" 式无法保持 情景如下: 解决思路: 利用二级菜单的onmouseover/out事件 重新构建一级菜单 ".hover" 样式类 代码如下: CSS部分: 在原来的目标:hover样式中 增加 .hover状态 li.app_jd a:hover,li.app_jd a.hover{ background-position: -126px -397px; } li.serv

实现底部导航栏

许多的App都使用底部导航栏来实现导航功能,我们可以使用RadioGroup+RadioButton的形式或者直接Button数组的方式实现,而谷歌官方提供了FragmentTabHost来方便快捷实现底部导航栏. android.support.v4.app.FragmentTabHost 主要代码: fragmentTabHost.setup(this, getSupportFragmentManager(), R.id.layout_content); for (int i = 0; i 

网易首页模仿心得---导航栏CSS篇

不仅是CSS方面学习到很多技法,而且由于自己也懂一些SEO,对网易的一些CSS+SEO优化方法,也收获颇多!(本人也是平面设计师,很喜欢网易这类简约型的网页) 好了,在此之前强烈推荐大家可以尝试一下sublime text3 这款编辑器,之前用的editplus,感觉前者真的非常强大,很多插件会让网页开发的速度快很多,很多!! 我首先看了网易的重置CSS样式表和mata标签,其中mata标签中有一行 <meta name="robots" content="index,

Bootstrap入门Demo——制作路径导航栏

今天在在群里聊天的时候看到一只程序员发了一张用Bootstrap做的界面,感觉挺好看,然后去官网看了下组件,发现都挺漂亮的,然后看到了路径导航栏,刚好要做这个东西,然后就下了Bootstrap的源码看了看. 一,源码文件简介 下载完源码之后,我们肯定是想着先把源码中的Demo先运行下看看,但是,看着这么多英文的东西还是很迷茫,所以,从整体上熟悉下都有什么东西还是很有必要的. 二,如何引入的问题 现在很多UI框架都是基于Jquery的,所以,在使用之前,如果需要,一定要先引入jquery文件,然后

IOS7的状态栏和导航栏

iOS 7中默认的导航栏 在开始定制之前,我们先来看看iOS 7中默认导航栏的外观.通过Xcode用Single View Controller模板创建一个工程.然后将view controller嵌入到一个navigation controller中.如果你不想从头开始,那么也可以在这里下载到这个示例工程. Xcode 5包含有iOS 6和iOS 7模拟器,我们可以在这两个不同的模拟器版本中运行示例程序,进行对比,如下图所示: vcC4tcSxs76w0dXJqzwvaDM+CjxwPtTaa

ios 导航栏 点击barbutton的按钮 下拉列表

环境:xocde5.0.2+ios7.0.1 1.导航栏 ----点击科目--------下拉列表 代码:NGRightTableViewViewController.h #import <UIKit/UIKit.h> @protocol PulldownMenuDelegate -(void)menuItemSelected:(NSIndexPath *)indexPath; -(void)pullDownAnimated:(BOOL)open; @end @interface NGRigh

淘宝分类导航条;纯css实现固定导航栏

效果如下: 页面如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <style type="t

微信小程序--仿京东UI样式顶部导航栏

我们先来看看京东的效果 分析 上端导航栏可以放置多个分类,可滑动 点击导航栏最右端按钮可以查看所有分类,同时背景模糊 内容部分右拉跳转到另外的分类 点击分类时导航栏的滑动部分自动滑动到合适的位置 我的实现 代码展示: js /** * categoryView.js - 分类页面 */ var fakeData = require('../../common/fakeData.js') Page( { data: { categories: ['全部'], currentTab: 0, scro