昨天我們拿到「空間控制權」:能決定誰在上、誰在下。
但網頁還是靜態的,沒有動態感。想像一下:
這時候,就輪到 transition / transform / animation 出場啦~
這些之前也有弄到,現在來細細說說.....
transition
可以幫屬性的改變「加上動畫」
HTML:
<button class="btn">Hover 我!</button>
CSS:
.btn {
padding: 10px 20px;
background: #74c0fc;
border: none;
border-radius: 8px;
transition: all 0.3s ease; /* 加上過渡效果 */
}
.btn:hover {
background: #4dabf7;
transform: scale(1.1); /* 放大一點 */
}
效果:滑鼠移上去,按鈕會慢慢變色、微微放大,更有互動感
( ~'ω')~( ~'ω')~( ~'ω')~( ~'ω')~( ~'ω')~( ~'ω')~( ~'ω')~
可以用來移動、縮放、旋轉、傾斜
.box {
width: 100px; height: 100px;
background: #ffd6a5;
transition: transform 0.5s ease;
}
.box:hover {
transform: rotate(15deg) scale(1.2); /* 旋轉+放大 */
}
如果想要「自動動起來」(不用 hover 觸發),就用 animation
@keyframes float {
0% { transform: translateY(0); }
50% { transform: translateY(-20px); }
100% { transform: translateY(0); }
}
.ball {
width: 50px; height: 50px;
background: #ffafcc;
border-radius: 50%;
animation: float 2s infinite ease-in-out;
}
transition: background 0.3s
;,滑順切換背景色一開始我以為「動畫」很難,要寫一堆 JS 才能做。
結果發現,CSS 自帶的 transition 和 transform 就超強了!
學完 position + z-index + transition,都產生有種自己能做出真實的 UI 效果,不只是靜態排版的錯覺了。゜+.(人-ω◕)゜+.゜