用H5做官網的CSS3酷炫的過渡效果

做H5官網時,自己封裝的css3樣式,特效不全,僅供參考

1,過渡時間設置

/*
 * transitionN: N代表過渡動畫幾秒
 * transition2: 2s過渡動畫
 * 
 * 默認 1 -->> 5s
*/

.transition{transition:all 1s;-webkit-transition:all 1s;-moz-transition:all 1s}
.transition2{transition:all 2s;-webkit-transition:all 2s;-moz-transition:all 2s}
.transition3{transition:all 3s;-webkit-transition:all 3s;-moz-transition:all 3s}
.transition4{transition:all 4s;-webkit-transition:all 4s;-moz-transition:all 4s}
.transition5{transition:all 5s;-webkit-transition:all 5s;-moz-transition:all 5s}

2,過渡效果設置

/******************************
 * 
 * 	X軸或Y軸平移
 * 
 * 		transform-translate-xX-yY  平移到(x, y)代表(X, Y)
 * 		transform-translate-x100-y0 代表平移(0, 0)到(100, 0)或(100, 0)到(0,0)
 *		transform-translate-x-100-y0 代表平移(0, 0)到(-100, 0)或(-100, 0)到(0,0)
 * 
 * 		默認X軸 (-300, 0)-->> (300,0)
 * 		默認Y軸 (0, -300)-->> (0,300)
 */
.transform-translate-x100-y0{-webkit-transform:translate(100px,0);-moz-transform:translate(100px,0);transform:translate(100px,0);-o-transform:translate(100px,0);opacity:0}
.transform-translate-x200-y0{-webkit-transform:translate(200px,0);-moz-transform:translate(200px,0);transform:translate(200px,0);-o-transform:translate(200px,0);opacity:0}
.transform-translate-x300-y0{-webkit-transform:translate(300px,0);-moz-transform:translate(300px,0);transform:translate(300px,0);-o-transform:translate(300px,0);opacity:0}
.transform-translate-x-100-y0{-webkit-transform:translate(-100px,0);-moz-transform:translate(-100px,0);transform:translate(-100px,0);-o-transform:translate(100px,0);opacity:0}
.transform-translate-x-200-y0{-webkit-transform:translate(-200px,0);-moz-transform:translate(-200px,0);transform:translate(-200px,0);-o-transform:translate(-200px,0);opacity:0}
.transform-translate-x-300-y0{-webkit-transform:translate(-300px,0);-moz-transform:translate(-300px,0);transform:translate(-300px,0);-o-transform:translate(-300px,0);opacity:0}

.transform-translate-x0-y100{-webkit-transform:translate(0,100px);-moz-transform:translate(0,100px);transform:translate(0,100px);-o-transform:translate(0,100px);opacity:0}
.transform-translate-x0-y200{-webkit-transform:translate(0,200px);-moz-transform:translate(0,200px);transform:translate(0,200px);-o-transform:translate(0,200px);opacity:0}
.transform-translate-x0-y300{-webkit-transform:translate(0,300px);-moz-transform:translate(0,300px);transform:translate(0,300px);-o-transform:translate(0,300px);opacity:0}
.transform-translate-x0-y-100{-webkit-transform:translate(0,-100px);-moz-transform:translate(0,-100px);transform:translate(0,-100px);-o-transform:translate(0,-100px);opacity:0}
.transform-translate-x0-y-200{-webkit-transform:translate(0,-200px);-moz-transform:translate(0,-200px);transform:translate(0,-200px);-o-transform:translate(0,-200px);opacity:0}
.transform-translate-x0-y-300{-webkit-transform:translate(0,-300px);-moz-transform:translate(0,-300px);transform:translate(0,-300px);-o-transform:translate(0,-300px);opacity:0}

3,js交互設置

	/*
	 * showActive();
	 * 		參數一: 元素Dom
	 * 		參數二: 每個元素執行動畫間隔時間
	 * 		參數三: 初始執行動畫延遲時間
	 * 		參數四: 增加或刪除動畫或過渡值
	 * 		參數五: 當爲true的時候增加動畫或過渡class值,false移除class,true感覺沒必要,
	 * 
	 */
	showActive($(".text-animation-p p"), 200, 0, "transform", false);

	showActive($(".transition2"), 200, 0, "transform-translate-x0-y-100", false);

	showActive($(".text-animation-add-p p"), 200, 0, "transform", true);

	function showActive(ele, intervalTime, initDelayTime, className, isTrue) {
		setTimeout(function() {
			var index = 0;
			var set = setInterval(function() {
				if(isTrue) {
					ele.eq(index).addClass(className);
					index++;
					if(index >= ele.length) {
						clearInterval(set);
					}
				} else {
					ele.eq(index).removeClass(className);
					index++;
					if(index >= ele.length) {
						clearInterval(set);
					}
				}
			}, intervalTime);
		}, initDelayTime);
	}

eg:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<link rel="stylesheet" type="text/css" href="../index.css" />
		<style type="text/css">
			/*
			 * transform-translate-xX-yY  平移到(x, y)代表(X, Y)
			 * transform-translate-x100-y0 代表平移(0, 0)到(100, 0)或(100, 0)到(0,0)
			 * transform-translate-x-100-y0 代表平移(0, 0)到(-100, 0)或(-100, 0)到(0,0)
			 */
			.transform-translate-x100-y0 {
				-webkit-transform: translate(100px, 0);
				-moz-transform: translate(100px, 0);
				transform: translate(100px, 0);
				-o-transform: translate(100px, 0);
				opacity: 0;
			}
			
			.transform-translate-x200-y0 {
				-webkit-transform: translate(200px, 0);
				-moz-transform: translate(200px, 0);
				transform: translate(200px, 0);
				-o-transform: translate(200px, 0);
				opacity: 0;
			}
			
			.transform-translate-x300-y0 {
				-webkit-transform: translate(300px, 0);
				-moz-transform: translate(300px, 0);
				transform: translate(300px, 0);
				-o-transform: translate(300px, 0);
				opacity: 0;
			}
			
			.transform-translate-x-100-y0 {
				-webkit-transform: translate(-100px, 0);
				-moz-transform: translate(-100px, 0);
				transform: translate(-100px, 0);
				-o-transform: translate(100px, 0);
				opacity: 0;
			}
			
			.transform-translate-x-200-y0 {
				-webkit-transform: translate(-200px, 0);
				-moz-transform: translate(-200px, 0);
				transform: translate(-200px, 0);
				-o-transform: translate(-200px, 0);
				opacity: 0;
			}
			
			.transform-translate-x-300-y0 {
				-webkit-transform: translate(-300px, 0);
				-moz-transform: translate(-300px, 0);
				transform: translate(-300px, 0);
				-o-transform: translate(-300px, 0);
				opacity: 0;
			}
			
			.transform-translate-x0-y100 {
				-webkit-transform: translate(0, 100px);
				-moz-transform: translate(0, 100px);
				transform: translate(0, 100px);
				-o-transform: translate(0, 100px);
				opacity: 0;
			}
			
			.transform-translate-x0-y200 {
				-webkit-transform: translate(0, 200px);
				-moz-transform: translate(0, 200px);
				transform: translate(0, 200px);
				-o-transform: translate(0, 200px);
				opacity: 0;
			}
			
			.transform-translate-x0-y300 {
				-webkit-transform: translate(0, 300px);
				-moz-transform: translate(0, 300px);
				transform: translate(0, 300px);
				-o-transform: translate(0, 300px);
				opacity: 0;
			}
			
			.transform-translate-x0-y-100 {
				-webkit-transform: translate(0, -100px);
				-moz-transform: translate(0, -100px);
				transform: translate(0, -100px);
				-o-transform: translate(0, -100px);
				opacity: 0;
			}
			
			.transform-translate-x0-y-200 {
				-webkit-transform: translate(0, -200px);
				-moz-transform: translate(0, -200px);
				transform: translate(0, -200px);
				-o-transform: translate(0, -200px);
				opacity: 0;
			}
			
			.transform-translate-x0-y-300 {
				-webkit-transform: translate(0, -300px);
				-moz-transform: translate(0, -300px);
				transform: translate(0, -300px);
				-o-transform: translate(0, -300px);
				opacity: 0;
			}
			/*
			 * transitionN: N代表過渡動畫幾秒
			 * transition2: 2s過渡動畫
			 */
			
			.transition {
				transition: all 1s;
				-webkit-transition: all 1s;
				-moz-transition: all 1s;
			}
			
			.transition2 {
				transition: all 2s;
				-webkit-transition: all 2s;
				-moz-transition: all 2s;
			}
			
			.transition3 {
				transition: all 3s;
				-webkit-transition: all 3s;
				-moz-transition: all 3s;
			}
			
			.transition4 {
				transition: all 4s;
				-webkit-transition: all 4s;
				-moz-transition: all 4s;
			}
			
			.transition5 {
				transition: all 5s;
				-webkit-transition: all 5s;
				-moz-transition: all 5s;
			}
		</style>
	</head>

	<body>

		<div class="text-animation">
			<p class="transition2 transform-translate-x100-y0">備受社會關注的貴州“90後”女幹部張藝在去年8月已獲刑一年半,她貪污的41萬餘元全部用來賭博。近日中國裁判文書網發佈的《張藝貪污一審刑事判決書》披露了這一消息。</p>
			<p class="transition2 transform-translate-x100-y0">備受社會關注的貴州“90後”女幹部張藝在去年8月已獲刑一年半,她貪污的41萬餘元全部用來賭博。近日中國裁判文書網發佈的《張藝貪污一審刑事判決書》披露了這一消息。</p>
			<p class="transition2 transform-translate-x100-y0">備受社會關注的貴州“90後”女幹部張藝在去年8月已獲刑一年半,她貪污的41萬餘元全部用來賭博。近日中國裁判文書網發佈的《張藝貪污一審刑事判決書》披露了這一消息。</p>
			<p class="transition2 transform-translate-x100-y0">備受社會關注的貴州“90後”女幹部張藝在去年8月已獲刑一年半,她貪污的41萬餘元全部用來賭博。近日中國裁判文書網發佈的《張藝貪污一審刑事判決書》披露了這一消息。</p>

		</div>

		<div>
			<p class="transition2 transform-translate-x0-y-100">備受社會關注的貴州“90後”女幹部張藝在去年8月已獲刑一年半,她貪污的41萬餘元全部用來賭博。近日中國裁判文書網發佈的《張藝貪污一審刑事判決書》披露了這一消息。</p>
			<p class="transition2 transform-translate-x0-y-100">備受社會關注的貴州“90後”女幹部張藝在去年8月已獲刑一年半,她貪污的41萬餘元全部用來賭博。近日中國裁判文書網發佈的《張藝貪污一審刑事判決書》披露了這一消息。</p>
			<p class="transition2 transform-translate-x0-y-100">備受社會關注的貴州“90後”女幹部張藝在去年8月已獲刑一年半,她貪污的41萬餘元全部用來賭博。近日中國裁判文書網發佈的《張藝貪污一審刑事判決書》披露了這一消息。</p>
			<p class="transition2 transform-translate-x0-y-100">備受社會關注的貴州“90後”女幹部張藝在去年8月已獲刑一年半,她貪污的41萬餘元全部用來賭博。近日中國裁判文書網發佈的《張藝貪污一審刑事判決書》披露了這一消息。</p>
		</div>

		<!--
			true
		-->
		<div class="text-animation-add-p">
			<p class="transition2">備受社會關注的貴州“90後”女幹部張藝在去年8月已獲刑一年半,她貪污的41萬餘元全部用來賭博。近日中國裁判文書網發佈的《張藝貪污一審刑事判決書》披露了這一消息。</p>
			<p class="transition2">備受社會關注的貴州“90後”女幹部張藝在去年8月已獲刑一年半,她貪污的41萬餘元全部用來賭博。近日中國裁判文書網發佈的《張藝貪污一審刑事判決書》披露了這一消息。</p>
			<p class="transition2">備受社會關注的貴州“90後”女幹部張藝在去年8月已獲刑一年半,她貪污的41萬餘元全部用來賭博。近日中國裁判文書網發佈的《張藝貪污一審刑事判決書》披露了這一消息。</p>
			<p class="transition2">備受社會關注的貴州“90後”女幹部張藝在去年8月已獲刑一年半,她貪污的41萬餘元全部用來賭博。近日中國裁判文書網發佈的《張藝貪污一審刑事判決書》披露了這一消息。</p>

		</div>
	</body>

</html>
<script src="../jquery-3.2.1.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
	/*
	 * showActive();
	 * 		參數一: 元素Dom
	 * 		參數二: 每個元素執行動畫間隔時間
	 * 		參數三: 初始執行動畫延遲時間
	 * 		參數四: 增加或刪除動畫或過渡值
	 * 		參數五: 當爲true的時候增加動畫或過渡class值,false移除class,true感覺沒必要,
	 * 
	 */
	showActive($(".text-animation-p p"), 200, 0, "transform", false);

	showActive($(".transition2"), 200, 0, "transform-translate-x0-y-100", false);

	showActive($(".text-animation-add-p p"), 200, 0, "transform", true);

	function showActive(ele, intervalTime, initDelayTime, className, isTrue) {
		setTimeout(function() {
			var index = 0;
			var set = setInterval(function() {
				if(isTrue) {
					ele.eq(index).addClass(className);
					index++;
					if(index >= ele.length) {
						clearInterval(set);
					}
				} else {
					ele.eq(index).removeClass(className);
					index++;
					if(index >= ele.length) {
						clearInterval(set);
					}
				}
			}, intervalTime);
		}, initDelayTime);
	}
</script>

完整的css3

/*
 * transitionN: N代表過渡動畫幾秒
 * transition2: 2s過渡動畫
 * 
 * 默認 1 -->> 5s
*/

.transition{transition:all 1s;-webkit-transition:all 1s;-moz-transition:all 1s}
.transition2{transition:all 2s;-webkit-transition:all 2s;-moz-transition:all 2s}
.transition3{transition:all 3s;-webkit-transition:all 3s;-moz-transition:all 3s}
.transition4{transition:all 4s;-webkit-transition:all 4s;-moz-transition:all 4s}
.transition5{transition:all 5s;-webkit-transition:all 5s;-moz-transition:all 5s}

/******************************
 * 
 * 	X軸或Y軸平移
 * 
 * 		transform-translate-xX-yY  平移到(x, y)代表(X, Y)
 * 		transform-translate-x100-y0 代表平移(0, 0)到(100, 0)或(100, 0)到(0,0)
 *		transform-translate-x-100-y0 代表平移(0, 0)到(-100, 0)或(-100, 0)到(0,0)
 * 
 * 		默認X軸 (-300, 0)-->> (300,0)
 * 		默認Y軸 (0, -300)-->> (0,300)
 */
.transform-translate-x100-y0{-webkit-transform:translate(100px,0);-moz-transform:translate(100px,0);transform:translate(100px,0);-o-transform:translate(100px,0);opacity:0}
.transform-translate-x200-y0{-webkit-transform:translate(200px,0);-moz-transform:translate(200px,0);transform:translate(200px,0);-o-transform:translate(200px,0);opacity:0}
.transform-translate-x300-y0{-webkit-transform:translate(300px,0);-moz-transform:translate(300px,0);transform:translate(300px,0);-o-transform:translate(300px,0);opacity:0}
.transform-translate-x-100-y0{-webkit-transform:translate(-100px,0);-moz-transform:translate(-100px,0);transform:translate(-100px,0);-o-transform:translate(100px,0);opacity:0}
.transform-translate-x-200-y0{-webkit-transform:translate(-200px,0);-moz-transform:translate(-200px,0);transform:translate(-200px,0);-o-transform:translate(-200px,0);opacity:0}
.transform-translate-x-300-y0{-webkit-transform:translate(-300px,0);-moz-transform:translate(-300px,0);transform:translate(-300px,0);-o-transform:translate(-300px,0);opacity:0}

.transform-translate-x0-y100{-webkit-transform:translate(0,100px);-moz-transform:translate(0,100px);transform:translate(0,100px);-o-transform:translate(0,100px);opacity:0}
.transform-translate-x0-y200{-webkit-transform:translate(0,200px);-moz-transform:translate(0,200px);transform:translate(0,200px);-o-transform:translate(0,200px);opacity:0}
.transform-translate-x0-y300{-webkit-transform:translate(0,300px);-moz-transform:translate(0,300px);transform:translate(0,300px);-o-transform:translate(0,300px);opacity:0}
.transform-translate-x0-y-100{-webkit-transform:translate(0,-100px);-moz-transform:translate(0,-100px);transform:translate(0,-100px);-o-transform:translate(0,-100px);opacity:0}
.transform-translate-x0-y-200{-webkit-transform:translate(0,-200px);-moz-transform:translate(0,-200px);transform:translate(0,-200px);-o-transform:translate(0,-200px);opacity:0}
.transform-translate-x0-y-300{-webkit-transform:translate(0,-300px);-moz-transform:translate(0,-300px);transform:translate(0,-300px);-o-transform:translate(0,-300px);opacity:0}


/*
 * scale() 縮放
 * 		例如設置圖片從小到大恢復完整的特效
 * 
 * scale() rotateX/Y/Z()縮放旋轉
 * 		例如設置圖片從小到大旋轉恢復完整的特效
 * 
 * rotateX() 繞着X軸旋轉,rotateY()繞着Y軸旋轉,rotateZ()繞着Z軸旋轉
 * 
 * transform-sacle 只縮放恢復完整
 * transform-rotateX90 只旋轉繞着X軸90度恢復完整
 * transform-sacle-rotateZ 縮放旋轉360度
 * transform-sacle-rotateX90 縮放旋轉90度
 */
.transform-sacle{opacity:0;-webkit-transform-origin:50% 50%;-webkit-transform:scale(.1);-moz-transform-origin:50% 50%;-moz-transform:scale(.1);-ms-transform-origin:50% 50%;-ms-transform:scale(.1);-o-transform-origin:50% 50%;-o-transform:scale(.1);transform-origin:50% 50%;transform:scale(.1)}
.transform-rotateX90{-webkit-transform-origin:50% 50%;-webkit-transform:rotateX(90deg);-moz-transform-origin:50% 50%;-moz-transform:rotateX(90deg);-ms-transform-origin:50% 50%;-ms-transform:rotateX(90deg);-o-transform-origin:50% 50%;-o-transform:rotateX(90deg);transform-origin:50% 50%;transform:rotateX(90deg)}
.transform-rotateY90{-webkit-transform-origin:50% 50%;-webkit-transform:rotateY(90deg);-moz-transform-origin:50% 50%;-moz-transform:rotateY(90deg);-ms-transform-origin:50% 50%;-ms-transform:rotateY(90deg);-o-transform-origin:50% 50%;-o-transform:rotateY(90deg);transform-origin:50% 50%;transform:rotateY(90deg)}
.transform-rotateZ90{opacity:0;-webkit-transform-origin:50% 50%;-webkit-transform:rotateZ(90deg);-moz-transform-origin:50% 50%;-moz-transform:rotateZ(90deg);-ms-transform-origin:50% 50%;-ms-transform:rotateZ(90deg);-o-transform-origin:50% 50%;-o-transform:rotateZ(90deg);transform-origin:50% 50%;transform:rotateZ(90deg)}
.transform-sacle-rotateZ{opacity:0;-webkit-transform-origin:50% 50%;-webkit-transform:rotateZ(360deg) scale(.1);-moz-transform-origin:50% 50%;-moz-transform:rotateZ(360deg) scale(.1);-ms-transform-origin:50% 50%;-ms-transform:rotateZ(360deg) scale(.1);-o-transform-origin:50% 50%;-o-transform:rotateZ(360deg) scale(.1);transform-origin:50% 50%;transform:rotateZ(360deg) scale(.1)}
.transform-sacle-rotateX{opacity:0;-webkit-transform-origin:50% 50%;-webkit-transform:rotateX(360deg) scale(.1);-moz-transform-origin:50% 50%;-moz-transform:rotateX(360deg) scale(.1);-ms-transform-origin:50% 50%;-ms-transform:rotateX(360deg) scale(.1);-o-transform-origin:50% 50%;-o-transform:rotateX(360deg) scale(.1);transform-origin:50% 50%;transform:rotateX(360deg) scale(.1)}
.transform-sacle-rotateY{opacity:0;-webkit-transform-origin:50% 50%;-webkit-transform:rotateY(360deg) scale(.1);-moz-transform-origin:50% 50%;-moz-transform:rotateY(360deg) scale(.1);-ms-transform-origin:50% 50%;-ms-transform:rotateY(360deg) scale(.1);-o-transform-origin:50% 50%;-o-transform:rotateY(360deg) scale(.1);transform-origin:50% 50%;transform:rotateY(360deg) scale(.1)}
.transform-sacle-rotateX90{opacity:0;-webkit-transform-origin:50% 50%;-webkit-transform:rotateX(90deg) scale(.1);-moz-transform-origin:50% 50%;-moz-transform:rotateX(90deg) scale(.1);-ms-transform-origin:50% 50%;-ms-transform:rotateX(90deg) scale(.1);-o-transform-origin:50% 50%;-o-transform:rotateX(90deg) scale(.1);transform-origin:50% 50%;transform:rotateX(90deg) scale(.1)}
.transform-sacle-rotateY90{opacity:0;-webkit-transform-origin:50% 50%;-webkit-transform:rotateY(90deg) scale(.1);-moz-transform-origin:50% 50%;-moz-transform:rotateY(90deg) scale(.1);-ms-transform-origin:50% 50%;-ms-transform:rotateY(90deg) scale(.1);-o-transform-origin:50% 50%;-o-transform:rotateY(90deg) scale(.1);transform-origin:50% 50%;transform:rotateY(90deg) scale(.1)}
.transform-sacle-rotateZ90{opacity:0;-webkit-transform-origin:50% 50%;-webkit-transform:rotateZ(90deg) scale(.1);-moz-transform-origin:50% 50%;-moz-transform:rotateZ(90deg) scale(.1);-ms-transform-origin:50% 50%;-ms-transform:rotateZ(90deg) scale(.1);-o-transform-origin:50% 50%;-o-transform:rotateZ(90deg) scale(.1);transform-origin:50% 50%;transform:rotateZ(90deg) scale(.1)}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章