HTML5 / CSS3 Transform / Animation 示例页面

<!DOCTYPE HTML>
<html>
<head>
	<!--先声明好charset以免错误解析title的中文或其他字符-->
	<meta charset="utf-8">
	<title>Tommy's 3D page.</title>
	<!--针对手机的标签,用于设定页面显示大小、比例和禁用用户缩放页面-->
	<meta content="width=device-width,user-scalable=no,minimum-scale=1.0,maximum-scale=1.0" name="viewport">
	<!--针对Apple的元标签-->
	<meta name="apple-touch-fullscreen" content="yes">
	<meta name="apple-mobile-web-app-capable" content="yes">
	<meta name="apple-mobile-web-app-status-bar-style" content="black">
	<!--禁用手机对电话号码和日期的自动检测链接-->
	<meta name="format-detection" content="telephone=no,date=no">
	<!--强制360浏览器使用webkit内核渲染-->
	<meta name="renderer" content="webkit">
	<!--针对IE:如果服务器安装了谷歌内嵌浏览器框架GCF则使用Chrome来渲染页面,否则使用IE最高版本来渲染-->
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
	<meta name="keywords" content="html5,css3,javascript,mobile-development">
	<meta name="description" content="Tommy's 3D page is a sample page of html5 for mobile web use.">
	<meta name="author" content="front-end development by @fs-beta">
</head>
<body>
	<style>
		html,body{
			font-family: Verdana;
		}
		body{
			max-width:320px;
			margin:0 auto;
			padding: 0;
		}
		.stage{
			background-color: rgba(0,0,0,0.1);
			height:80px;
			margin:5px;
			margin-top: 0;
			border-radius: 2px;
			position: relative;
			/*一、父元素设定3d透视深度*/
			-webkit-perspective:600;
			-moz-perspective:600;
			-ms-perspective:600;
			-o-perspective:600;
			perspective:600;
		}
		.stage:after{
			content:"按住我查看效果";
			font-size: 11px;
			color:rgba(0,0,0,0.4);
			display: block;
			width: 100px;
			height:30px;
			text-align: center;
			line-height: 30px;
			overflow: hidden;
			position:absolute;
			right:0;
			top:25px;
			text-shadow:1px 1px 1px #FFF;
		}
		.box{
			-webkit-border-radius: 5px;
			-moz-border-radius: 5px;
			-ms-border-radius: 5px;
			-o-border-radius: 5px;
			border-radius: 5px;
			width:80px;
			height:40px;
			position: relative;
			left:20px;
			top:20px;
			color:#FFF;
			font-size: 12px;
			text-align: center;
			line-height: 40px;
			background-color: rgba(0,0,0,0.5);
			/*二、设定子元素的过渡属性(若有关键帧动画则不需要)*/
			-webkit-transition:all .5s ease-in-out;
			-moz-transition:all .5s ease-in-out;
			-ms-transition:all .5s ease-in-out;
			-o-transition:all .5s ease-in-out;
			transition:all .5s ease-in-out;
			/*三、保证子元素的3d效果*/
			-webkit-transform-style:preserve-3d;
			-moz-transform-style:preserve-3d;
			-ms-transform-style:preserve-3d;
			-o-transform-style:preserve-3d;
			transform-style:preserve-3d;
			/*四、设定子元素的变换原点*/
			-webkit-transform-origin:center;
			-moz-transform-origin:center;
			-ms-transform-origin:center;
			-o-transform-origin:center;
			transform-origin:center;
		}
		.box.on{
			background-color: #F60;
			box-shadow: 0 0 5px rgba(255,102,0,0.3);
		}
		.rotate.on{
			/*五、设定子元素的旋转属性*/
			-webkit-transform:rotateY(360deg);
			-moz-transform:rotateY(360deg);
			-ms-transform:rotateY(360deg);
			-o-transform:rotateY(360deg);
			transform:rotateY(360deg);
		}
		.translate.on{
			/*五、设定子元素的位移属性*/
			-webkit-transform:translateX(100px);
			-moz-transform:translateX(100px);
			-ms-transform:translateX(100px);
			-o-transform:translateX(100px);
			transform:translateX(100px);
		}
		.scale.on{
			/*五、设定子元素的变换属性*/
			-webkit-transform:scale(1.5);
			-moz-transform:scale(1.5);
			-ms-transform:scale(1.5);
			-o-transform:scale(1.5);
			transform:scale(1.5);
		}
		.skew.on{
			/*五、设定子元素的变换属性*/
			-webkit-transform:skewY(30deg);
			-moz-transform:skewY(30deg);
			-ms-transform:skewY(30deg);
			-o-transform:skewY(30deg);
			transform:skewY(30deg);
		}
		@-webkit-keyframes spin{
			0% {
				-webkit-transform:rotateY(0deg);
			}
			100% {
				-webkit-transform:rotateY(360deg);
			}
		}
		@-moz-keyframes spin{
			0% {
				-moz-transform:rotateY(0deg);
			}
			100% {
				-moz-transform:rotateY(360deg);
			}
		}
		@-ms-keyframes spin{
			0% {
				-ms-transform:rotateY(0deg);
			}
			100% {
				-ms-transform:rotateY(360deg);
			}
		}
		@-o-keyframes spin{
			0% {
				-o-transform:rotateY(0deg);
			}
			100% {
				-o-transform:rotateY(360deg);
			}
		}
		@keyframes spin{
			0% {
				transform:rotateY(0deg);
			}
			100% {
				transform:rotateY(360deg);
			}
		}
		.p600{
			/*父元素设定3d透视深度*/
			-webkit-perspective:600;
			-moz-perspective:600;
			-ms-perspective:600;
			-o-perspective:600;
			perspective:600;
		}
		.spin{
			text-align: center;
			/*保证子元素的3d效果*/
			-webkit-transform-style:preserve-3d;
			-moz-transform-style:preserve-3d;
			-ms-transform-style:preserve-3d;
			-o-transform-style:preserve-3d;
			transform-style:preserve-3d;
			/*设定动画*/
			-webkit-animation:spin 3s infinite linear;
			-moz-animation:spin 3s infinite linear;
			-ms-animation:spin 3s infinite linear;
			-o-animation:spin 3s infinite linear;
			animation:spin 3s infinite linear;
		}
	</style>
	<div class="p600"><h2 class="spin">Tommy's 3D page.</h2></div>
	<div class="stage">
		<div class="box rotate">旋转</div>
	</div>
	<div class="stage">
		<div class="box translate">位移</div>
	</div>
	<div class="stage">
		<div class="box scale">缩放</div>
	</div>
	<div class="stage">
		<div class="box skew">扭曲</div>
	</div>
	<script src="http://www.citygf.com/game/04/js/jquery.js"></script>
	<script>
		$(function(){
			var isTouch = "ontouchend" in window,
				pDown = isTouch ? "touchstart" : "mousedown",
				pUp = isTouch ? "touchend" : "mouseup";
			$(".stage").on(pDown,function(e){
				var e = e || window.event;
				e.preventDefault();
				$(this).find(".box").addClass("on");
			}).on(pUp,function(e){
				$(this).find(".box").removeClass("on");
			});
		});
	</script>
</body>
</html>

测试地址:http://www.citygf.com/game/05/

转载于:https://my.oschina.net/tommyfok/blog/207237

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值