zoukankan      html  css  js  c++  java
  • css钻石旋转实现

    css钻石旋转实现:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    		<style type="text/css">
    			/* 钻石旋转 
    			 * 要实现这个钻石旋转: 首先需要明确这个钻石分为上下两个部分,上面包含六个正三角形,下面有6个倒三角形
    			 * css实现正三角形:上右下左的方向 border-style: solid;border-color:transparent;border- 0 50px 170px 50px; border-bottom-color: rgba(255,0,0,0.5)
    			 * css实现倒三角形:上右下左的方向 border-style: solid;border-color:transparent;border- 170px 50px 0 50px; border-top-color: rgba(255,0,0,0.5)
    			 * 然后提供一个3D环境,给外层盒子添加 transform-style: preserve-3d;flat 所有的子元素在2D平面中;preserve-3D 所有的子元素 在3D 平面中
    			 * 上面的三角形设置为绝对定位 absolute
    			 * 使用css3的transform 三角形按角度转动 排列成钻石的上半部分,同理实现下半部分
    			 * rotateY:沿着Y轴实现旋转,translateZ:沿着Z轴移动88px;沿着X轴 旋转31度 
    			 * 写一个动画tuoluo 0~50%~100%  沿着z轴旋转
    			 * 实现动画的循环播放animation: tuoluo 3s linear infinite; */
    			
    			
    			/*@keysframes*/
    			.wrap{
    				 200px;
    				height: 400px;
    				margin: 30px auto;
    			}
    			@keyframes tuoluo{
    				0%{
    					transform: rotateY(0deg) rotateX(0deg);
    				}
    				50%{
    					transform: rotateY(-180deg) rotateX(18deg);
    				}
    				100%{
    					transform: rotateY(-360deg) rotateX(0deg);
    				}
    			}
    			.wrap .tuoluo{
    				 100%;
    				height: 100%;
    				transform-style: preserve-3d; 
    				/* flat 所有的子元素在2D平面中*/
    				/* preserve-3D 所有的子元素 在3D 平面中*/
    				animation: tuoluo 3s linear infinite;
    			}
    			.wrap .tuoluo .tuoluo-top,
    			.wrap .tuoluo .tuoluo-bottom{
    				position: relative;
    				 100%;
    				height: 50%;
    			}
    			.tuoluo-top .face-top{
    				position: absolute;
    				top: 29px;
    				 0;
    				height: 0;
    				border-style: solid;
    				border-color: transparent;
    				border- 0 50px 170px 50px;
    				border-bottom-color: rgba(65,92,162,.5);
    				/*元素变形基点的位置*/
    				transform-origin: center bottom;
    			}
    			.tuoluo-top .face-top:nth-of-type(1){
    				transform: rotateY(0deg) translateZ(88px) rotateX(31deg);
    			}
    			.tuoluo-top .face-top:nth-of-type(2){
    				transform: rotateY(60deg) translateZ(88px) rotateX(31deg);
    			}
    			.tuoluo-top .face-top:nth-of-type(3){
    				transform: rotateY(120deg) translateZ(88px) rotateX(31deg);
    			}
    			.tuoluo-top .face-top:nth-of-type(4){
    				transform: rotateY(180deg) translateZ(88px) rotateX(31deg);
    			}
    			.tuoluo-top .face-top:nth-of-type(5){
    				transform: rotateY(240deg) translateZ(88px) rotateX(31deg);
    			}
    			.tuoluo-top .face-top:nth-of-type(6){
    				transform: rotateY(300deg) translateZ(88px) rotateX(31deg);
    			}
    			.tuoluo-bottom .face-bottom{
    				position: absolute;
    				 0;
    				height: 0;
    				border-style: solid;
    				border-color: transparent;
    				border- 170px 50px 0 50px;
    				border-top-color: rgba(65,92,162,.5);
    				/*元素变形基点的位置*/
    				transform-origin: center top;
    			}
    			.tuoluo-bottom .face-bottom:nth-of-type(1){
    				transform: rotateY(0deg) translateZ(88px) rotateX(-31deg);
    			}
    			.tuoluo-bottom .face-bottom:nth-of-type(2){
    				transform: rotateY(60deg) translateZ(88px) rotateX(-31deg);
    			}
    			.tuoluo-bottom .face-bottom:nth-of-type(3){
    				transform: rotateY(120deg) translateZ(88px) rotateX(-31deg);
    			}
    			.tuoluo-bottom .face-bottom:nth-of-type(4){
    				transform: rotateY(180deg) translateZ(88px) rotateX(-31deg);
    			}
    			.tuoluo-bottom .face-bottom:nth-of-type(5){
    				transform: rotateY(240deg) translateZ(88px) rotateX(-31deg);
    			}
    			.tuoluo-bottom .face-bottom:nth-of-type(6){
    				transform: rotateY(300deg) translateZ(88px) rotateX(-31deg);
    			}
    		</style>
    	</head>
    	<body>
    		<div class="wrap">
    			<div class="tuoluo">
    				<div class="tuoluo-top">
    					<div class="face-top"></div>
    					<div class="face-top"></div>
    					<div class="face-top"></div>
    					<div class="face-top"></div>
    					<div class="face-top"></div>
    					<div class="face-top"></div>
    				</div>
    				<div class="tuoluo-bottom">
    					<div class="face-bottom"></div>
    					<div class="face-bottom"></div>
    					<div class="face-bottom"></div>
    					<div class="face-bottom"></div>
    					<div class="face-bottom"></div>
    					<div class="face-bottom"></div>
    				</div>
    			</div>
    		</div>
    	</body>
    </html>
    

      

  • 相关阅读:
    Es module vs require
    phaser3 画虚线实现
    新的计划
    [转]Boostrap Table的refresh和refreshOptions区别
    Storing Java objects in MySQL blobs
    【转】Ubuntu下搜狗输入法突然无法输入中文
    团队作业六
    团队作业七
    团队作业四
    团队作业三
  • 原文地址:https://www.cnblogs.com/cxzhijia/p/7497933.html
Copyright © 2011-2022 走看看