简单写的雪佛兰手机版翻转菜单

雪佛兰手机版官网的菜单略微有点缺点;布局上的缺点;自己稍微完善一下;
 
样式有点丑;
动画帧也是可以实现;比较简单点;不过我没弄;
下面效果图:


 css布局及原理:


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>雪佛兰</title>
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" />

</head>

<body>
<style>
*{ margin:0; padding:0;}
ul,li{ margin:0; padding:0; list-style:none;}

.iconMenu{width: 99%; z-index:126;
  height: 50px; line-height:50px; text-decoration:none;
  position:relative;  /*使层起作用*/

  background: #eee;
  font-size: 18px;
  color: #7b7b7c; display:block;
  font-weight: 600;}

   .container{ width:98%; height:600px;border:2px solid #F00; margin:0 auto; padding-bottom:20px; }

  .wrap{position:relative;  width:100%; margin:0 auto;
  -webkit-transform-style:preserve-3d;
  transform-style:preserve-3d;
  -webkit-perspective:800;
   perspective:800;
  z-index:3;
  height:400px;
	-webkit-transform-origin: bottom;
	-moz-transform-origin: 50% 100%;
	-ms-transform-origin: 50% 100%;
	-o-transform-origin: 50% 100%;
	transform-origin: 50% 100%;
	-webkit-transform: translateY(0px);
	-moz-transform: translateY(0px);
	-ms-transform: translateY(0px);
	-o-transform: translateY(0px);
	transform: translateY(0px);
	-webkit-transition: -webkit-transform 0.8s ;
	-moz-transition: -moz-transform 0.8s ;
	-ms-transition: -ms-transform 0.8s ;
	-o-transition: -o-transform 0.8s ;
	transition: transform 0.8s ; /*linear*/
}

.nav {  z-index: 22;width: 100%; background-color: #fff;display:block;
 position: absolute;left:0; top:0px; -webkit-backface-visibility:hidden; backface-visibility: hidden;
    -webkit-transform: translateY(-160px) rotateX(90deg);
	-moz-transform: translateY(-160px)  rotateX(90deg);
	-ms-transform: translateY(-160px)  rotateX(90deg);
	-o-transform: translateY(-160px)  rotateX(90deg);
	transform: translateY(-160px) rotateX(90deg);
	outline:1px solid transparent/*修复火狐旋转时后边缘的锯齿*/;
 }
.navCSS3 {
	-webkit-transform-origin: bottom;
	-moz-transform-origin: bottom;
	-ms-transform-origin: bottom;
	-o-transform-origin: bottom;
	transform-origin: bottom; 

	-webkit-transition: -webkit-transform 0.8s  ;
	-moz-transition: -moz-transform 0.8s ;
	-ms-transition: -ms-transform 0.8s ;
	-o-transition: -o-transform 0.8s ;
	transition: transform 0.8s ; /*linear*/
}

#nav .ulNav{clear: both;}
#nav .ulNav li { float: left; width: 33.33%; background:#333; color:#fff;  }
#nav .ulNav li:nth-child(1) a,#nav .ulNav li:nth-child(4) a ,#nav .ulNav li:nth-child(7) a { border-left: 1px solid #333; }
#nav .ulNav li a { display: block;padding:20px 0; font-size:12px;color: #fff;  border-right: 1px solid #7b7b7c; border-bottom: 1px solid #7b7b7c; text-align: center;}

.foot{width:100%; height:250px; line-height:250px; background:#999; color:#fff; text-align:center; margin:0px auto; font-size:30px; position:relative; z-index:500;}
</style>
             <center><a href="javascript:void(0);" class="iconMenu">菜单</a></center>

            <div class="container">
                 <div class="wrap">
                 <nav class="nav navCSS3 " id="nav">
                        <ul class="ulNav">
                            <li><a href="car.html" class="aCar">全系车型</a></li>
                            <li><a >市场活动</a></li>
                            <li><a >品牌新闻</a></li>
                            <li><a >查找经销商</a></li>
                            <li><a >预约试驾</a></li>
                            <li><a >官方微博</a></li>
                            <li><a >预约试驾</a></li>
                            <li><a >官方微博</a></li>
                              <li><a >预约试驾</a></li>
                        </ul>
                    </nav>

                     <div class=‘foot‘ id="foot">下面的内容</div>
                    </div>

           </div>

<script>

     function getStyle(obj,attr){
			 return  obj.currentStyle?obj.currentStyle[attr]:getComputedStyle(obj,false)[attr];
	  }

   window.onload=function(){
	   var tap= ("ontouchstart" in window)? "touchstart":"click",
			 d=document,
			 menu=d.querySelector(".iconMenu"),
			 flag=true,
			 Nav =d.querySelector("#nav"),
			 NavH =getStyle(Nav,‘height‘),
			//alert(NavH);//165px
			wrap=d.querySelector(".wrap");

			menu.addEventListener(tap,function(e){
				 e.preventDefault();

					if(flag) {
						this.innerHTML=‘菜单关闭‘
						wrap.style.webkitTransform=‘translateY(‘ + NavH +‘)‘;
						wrap.style.transform=‘translateY(‘ + NavH +‘)‘;

					    Nav.style.webkitTransform=‘perspective(880px) translateY(-‘ + NavH + ‘) rotateX(0)‘;
						Nav.style.transform=‘perspective(880px) translateY(-‘ + NavH + ‘) rotateX(0)‘;
						//console.log(‘进去‘);
					 }else{
						this.innerHTML=‘菜单打开‘
						Nav.style.transform=‘perspective(880px) translateY(-‘ + NavH + ‘) rotateX(90deg)‘;
						wrap.style.transform=‘ translateY(0px)‘;
					 }  

					flag=!flag;
					},false);
	   }//onload end

</script>

</body>
</html>
时间: 2024-10-14 15:54:50

简单写的雪佛兰手机版翻转菜单的相关文章

手机版WEB开发经验分享,手机版网站开发注意事项,网站自适应,手机版网站自适应,移动安卓APP自适应

转自 http://my.oschina.net/cart/blog/282477 做前端开发不短了,用过jQuery Mobile jqMobi 也纯手工写过.. 最后总结如下: jQuery Mobile:适合大而全,兼容性高,功能全,但是文件大,略显臃肿..如果你是网页版.手机版共用jquery库等 适合使用jQuery Mobile. jqMobi:适合单独就是手机版的站,体积小,速度快,但是兼容性没有jQuery Mobile好,功能没有jQuery Mobile全,但是一般也够用啦.

【php】手机版访问手机版页面选择“电脑版”之后不回到原来的手机版页面,利用Session实现

在<[JavaScript]通过JavaScript的方式,如果手机浏览器访问PC版页面,自动跳转到手机版页面>(点击打开链接)中现实了,如果用户通过手机访问你的PC页面,自动跳转到手机版页面,但是,这其中有一个问题,如果那些手机用户看到手机版页面之后,还是需要浏览PC版页面呢?此时,他们点击"电脑版"之后,由于JS的作用,还是回把他们扔回手机版页面. 当然,你可以说是这是用户的事情,让他们的手机浏览器改改浏览标识就是了,但是,我们应该把程序写得更加友好. 此时,可以利用p

爱淘宝手机版分类导航菜单弹出效果设计

来和大家一起讨论讨论爱淘宝手机版的分类导航菜单弹出效果是如何设计实现的.先来看几个截图,一个是爱淘宝官方网站的截图,另一部分是我仿照爱淘宝做的截图 先声明一下我们只是借鉴爱淘宝手机版界面来进行技术的学习,如有博友看到请各位一定要理解.此博客毫无盗用淘宝核心技术. 第一张图是爱淘宝官网的截图,后面两张是我们自己仿照做的截图. 首先分析一下要实现的功能细节 点击手机页面商品列表的图片,导航菜单会从手机的右侧出来 导航菜单下面会有一个遮盖层,这样子的作用防止用户点击最底层的商品 最底层的商品可以在遮盖

手机版网页设计注意事项

用手机上网时,有些网站会无法正常显示,因为这些网页是设计在电脑上看的,如果网页开发者没有考虑到手机的软硬件特性以及人们的阅读习惯,就无法设计出手机上方便阅读的网页.说的简单,但是要把既有网页砍掉重练.再移植到手机上是一项大工程,笔者归纳四个方面给网页开发人员参考. 一.与计算机共享同一套网页 这里的与计算机共享网页,指的是计算机用的网页完全不经修改.就直接给手机浏览.前提是网站本身的元素要够简单.版面不能太复杂. 二.制作手机专用网页 这个做法在90年代非常盛行,当时电信业者的GPRS/WAP广

C# WCF简单入门图文教程(VS2010版)

C# WCF简单入门图文教程(VS2010版) 作者:丶一二丶 字体:[增加 减小] 类型:转载 时间:2016-03-17我要评论 这篇文章主要介绍了WCF简单入门图文教程,版本是VS2010版,帮助大家轻松学习了解DataContract.ServiceContract等特性,感兴趣的小伙伴们可以参考一下 在这个例子中我们将使用VS2010创建一个WCF服务,其中会了解[DataContract][ServiceContract]等特性. 内置的WCFSVCHost,并使用“WCF测试客户端

会动的思维导图有它就够了Mindjet 手机版

Mindjet Maps是手机版的MindManager,仅有2M大小,却做到了几乎涵盖了电脑版的所有功能.Mindjet Maps对于你的工作来说是很重要的一款软件,因为这款手机思维导图软件将为你开启一次头脑风暴.Mindjet Maps可以快速的帮你整理思路,有效的帮你捕捉一闪而过的灵感,并快速捕捉游泳的信息.同时这款手机思维导图软件可以辅助你将对信息进行分析,将工作步骤细化,为你的想法开创一个广阔的平台. Mindjet Maps特点: 思维导图文件(.mmap格式). 支持安卓2.1及更

手机版网站顶部导航条的布局

效果图: 手机版网站顶部导航条布局分为3块:1.左侧返回上一页按钮(固定宽高)2.右侧菜单按钮(固定宽高)3.中间文字介绍(宽度自适应且文字居中) 要实现这个效果最简单的办法是2边绝对定位,中间text-align-center <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title&g

【JavaScript】通过JavaScript的方式,如果手机浏览器访问PC版页面,自动跳转到手机版页面

这个其实根本不用自己写,因为在网上就有一个写的非常不错的js. 做到如下效果,如果是PC.平板访问这个页面,则显示PC版的页面,如果是手机访问这个页面则跳到手机版的页面,同时不加载PC版页面,直接跳转. 首先,目录结构如下: 其中JS文件夹中的uaredirect.js是从网上down下来的,其代码如下: function uaredirect(f){try{if(document.getElementById("bdmark")!=null){return}var b=false;i

PC网站转换成手机版

博客地址:https://www.cnblogs.com/zxtceq/p/5714606.html 一天完成把PC网站改为自适应!原来这么简单! http://www.webkaka.com/blog/archives/how-to-modify-a-web-page-to-be-responsive.html 一天完成把PC网站改为自适应!原来这么简单! 作者:Kaka    时间:2015-8-27 11:26:9    浏览:5279    评论:8 网站自适应,很多人都认为是很高级需要