&l_前端实现立方体">
赞
踩
<!-- 立方体效果: 1.HTML内容:立方体,六个面,每个面是一张图 图片插入网页:1.img标签 2.background-image背景图 2.CSS基本样式:尺寸宽高,位置 每个面绝对定位 偏移 3.实现立方体翻转效果: 1.每个面3D翻转组合成立方体 动画 旋转 2.立方体旋转 --> <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>立方体翻转</title> <style> /* 样式初始化*/ body,ul,li{margin:0;padding:0} /*立方体*/ ul{ list-style:none; width:200px; height:200px; margin:200px auto; position:relative;/*立方体相对定位*/ animation:lftdh 10s linear infinite;/*调用立方体动画*/ transform-style:preserve-3d;/*保留子元素3D效果*/ } /* 定义立方体旋转动画*/ @keyframes lftdh{ 0% { transform: rotateX(0deg) rotateY(0deg); } 10% { transform: rotateX(0deg) rotateY(180deg); } 20% { transform: rotateX(-180deg) rotateY(180deg); } 30% { transform: rotateX(-360deg) rotateY(180deg); } 40% { transform: rotateX(-360deg) rotateY(360deg); } 50% { transform: rotateX(-180deg) rotateY(360deg); } 60% { transform: rotateX(90deg) rotateY(180deg); } 70% { transform: rotateX(0) rotateY(180deg); } 80% { transform: rotateX(90deg) rotateY(90deg); } 90% { transform: rotateX(90deg) rotateY(0); } 100% { transform: rotateX(0) rotateY(0); } } /*六个面*/ ul>li{ width:100%; height:100%; position:absolute;/*六个面绝对定位*/ } /* 每一个面位置的调整*/ /*第一个面*/ ul>li.one{ top:0; left:-200px; animation:d1 2s linear 1; animation-fill-mode:forwards;/*保留动画最后一帧*/ transform-origin:right; } /* 定义第一个面组成立方体动画过程*/ @keyframes d1{ 0%{transform:perspective(20000px) rotateY(0deg);} 100%{transform:perspective(20000px) rotateY(90deg);} } /*第二个面*/ ul>li.two{ top:0; left:0; } /*第三个面*/ ul>li.three{ top:0; left:200px; animation:d3 2s linear 1; animation-fill-mode:forwards;/*保留动画最后一帧*/ transform-origin:left; } /* 定义第三个面组成立方体动画过程*/ @keyframes d3{ 0%{transform:perspective(20000px) rotateY(0deg);} 100%{transform:perspective(20000px) rotateY(-90deg);} } /*第四个面*/ ul>li.four{ top:-200px; left:0; animation:d4 2s linear 1; animation-fill-mode:forwards;/*保留动画最后一帧*/ transform-origin:bottom; } /* 定义第四个面组成立方体动画过程*/ @keyframes d4{ 0%{transform:perspective(20000px) rotateX(0deg);} 100%{transform:perspective(20000px) rotateX(-90deg);} } /*第五个面*/ ul>li.five{ top:200px; left:0; animation:d5 2s linear 1; animation-fill-mode:forwards;/*保留动画最后一帧*/ transform-origin:top; } /* 定义第五个面组成立方体动画过程*/ @keyframes d5{ 0%{transform:perspective(20000px) rotateX(0deg);} 100%{transform:perspective(20000px) rotateX(90deg);} } /*第六个面*/ ul>li.six{ top:200px; left:200px; animation:d6 2s linear 1; animation-fill-mode:forwards;/*保留动画最后一帧*/ transform-origin:top left; } /* 定义第六个面组成立方体动画过程*/ @keyframes d6{ 0%{transform:perspective(20000px) rotateX(0deg) rotateY(0deg) translateZ(200px);} 100%{transform:perspective(20000px) rotateX(180deg) rotateY(180deg) translateZ(200px);} } /* 六个面中的图片*/ ul>li>img{ width:100%; height:100%; } </style> </head> <body> <ul> <li class="one"><img src="img/1.jpg"></li> <li class="two"><img src="img/2.jpg"></li> <li class="three"><img src="img/4.jpg"></li> <li class="four"><img src="img/5.jpg"></li> <li class="five"><img src="img/5.jpg"></li> <li class="six"><img src="img/6.jpg"></li> </ul> </body> </html>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。