다이아몬드 회전 효과를 얻는 CSS

巴扎黑
풀어 주다: 2017-09-11 11:52:58
원래의
1817명이 탐색했습니다.

css 다이아몬드 회전 구현:


<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			/* 钻石旋转 
			 * 要实现这个钻石旋转: 首先需要明确这个钻石分为上下两个部分,上面包含六个正三角形,下面有6个倒三角形
			 * css实现正三角形:上右下左的方向 border-style: solid;border-color:transparent;border-width: 0 50px 170px 50px; border-bottom-color: rgba(255,0,0,0.5)
			 * css实现倒三角形:上右下左的方向 border-style: solid;border-color:transparent;border-width: 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{
				width: 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{
				width: 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;
				width: 100%;
				height: 50%;
			}
			.tuoluo-top .face-top{
				position: absolute;
				top: 29px;
				width: 0;
				height: 0;
				border-style: solid;
				border-color: transparent;
				border-width: 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;
				width: 0;
				height: 0;
				border-style: solid;
				border-color: transparent;
				border-width: 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>
		<p class="wrap">
			<p class="tuoluo">
				<p class="tuoluo-top">
					<p class="face-top"></p>
					<p class="face-top"></p>
					<p class="face-top"></p>
					<p class="face-top"></p>
					<p class="face-top"></p>
					<p class="face-top"></p>
				</p>
				<p class="tuoluo-bottom">
					<p class="face-bottom"></p>
					<p class="face-bottom"></p>
					<p class="face-bottom"></p>
					<p class="face-bottom"></p>
					<p class="face-bottom"></p>
					<p class="face-bottom"></p>
				</p>
			</p>
		</p>
	</body>
</html>  
로그인 후 복사

위 내용은 다이아몬드 회전 효과를 얻는 CSS의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!