iT邦幫忙

2022 iThome 鐵人賽

DAY 2
0
自我挑戰組

CSS UI(動畫)相關系列 第 2

D2 看YT學 CSS動畫1

  • 分享至 

  • xImage
  •  

很久之前看到YT上有標榜"純CSS" 水滴動畫,所以才有今天這個主題(不過水滴的影片就找不到了)
今天參考的影片如下(是個立方體動畫,原始碼需贊助原作者才能瀏覽)
https://www.youtube.com/watch?v=nOdDtnHWaDo&list=LL&index=1
選擇器相關資料
https://code.tutsplus.com/zh-hant/tutorials/the-30-css-selectors-you-must-memorize--net-16048

然後就看影片照著抄程式碼,試著改一些數值,但亂改動畫會跳針
HTML的 (SPAN裡面故意加字當作標,也許能方便日後理解)

<link href="C1.css" rel="stylesheet" type="text/css">
<body>
	<div class="T1">
		<div>
			<span style="--i:0;">XXXX</span>
			<span style="--i:1;">XXXX</span>
			<span style="--i:2;">XXXX</span>
			<span style="--i:3;">XXXX</span>
		</div>
	</div>
</body>

CSS的,有很大占比是在固定位置,雖然好像很基本,但我覺得特別不好弄

/*下方 deg的值 若隨便定值,動畫會跳針、甚至不動*/
*{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body{
	background: #18171B;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 100vh;
}

.T1{
	position: relative;
	width: 300px;
	height: 300px;
	transform-style: preserve-3d; /*沒看過的*/
	transform: rotateX(30deg); /*讓 立方體(視覺上) 垂直轉20度,看起來會像2塊長方形*/
	animation: animate 3s linear infinite; /*秒數越大,動畫越慢*/
}

@keyframes animate{    /* @ <<好像不是選擇器,先照著打再說*/
	0%
	{
		transform: rotateX(-30deg) rotateY(0deg);
	}

	100%
	{
		transform: rotateX(-30deg) rotateY(360deg);
	}
}

.T1 div{
	position: absolute;
	top: 0;
	left: 0;
	width:100%;
	height: 100%;
	transform-style: preserve-3d;
}

.T1 div span{
	position: absolute;
	top: 0;
	left: 0;
	width:100%;
	height: 100%;
	transform-style: preserve-3d;
	background: linear-gradient(#262728,#4168E4); /*漸層相關*/

	transform: rotateY(calc(90deg * var(--i)))
	           translateZ(150px);
}

目前成果(截圖,但它其實會動的~)
https://ithelp.ithome.com.tw/upload/images/20220916/20141355UbEikhKhZG.jpg
今天先這樣,明天見,謝謝


上一篇
D1 好久沒碰程式,回顧怎麼開始
下一篇
D3看YT學 CSS動畫2
系列文
CSS UI(動畫)相關30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言