CSS入門-Day9:過渡與動畫

更新於 發佈於 閱讀時間約 8 分鐘

過渡效果

過渡效果(Transitions)使 CSS 屬性的變化更加平滑,從一個值逐漸過渡到另一個值。

基本語法

過渡效果的基本語法包括 transition-propertytransition-durationtransition-timing-functiontransition-delay

.element {
transition-property: background-color;
transition-duration: 2s;
transition-timing-function: ease-in-out;
transition-delay: 0.5s;
}

簡寫語法

可以使用簡寫語法將所有屬性合併在一起。

.element {
transition: background-color 2s ease-in-out 0.5s;
}

過渡效果示例

<!DOCTYPE html>
<html lang="zh-Hant">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>過渡效果示例</title>
<style>
.box {
width: 100px;
height: 100px;
background-color: lightblue;
transition: background-color 1s, transform 1s;
}
.box:hover {
background-color: lightcoral;
transform: rotate(45deg);
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>

在這個示例中,當鼠標懸停在 .box 元素上時,背景顏色和旋轉角度會在 1 秒內平滑過渡。

動畫效果

動畫效果(Animations)允許你更精細地控制一個元素的多個屬性隨時間變化的過程。

基本語法

動畫效果的基本語法包括 @keyframes 規則來定義動畫,和 animation-nameanimation-durationanimation-timing-functionanimation-delayanimation-iteration-countanimation-direction 等屬性來應用動畫。

@keyframes example {
from {background-color: lightblue;}
to {background-color: lightcoral;}
}

.element {
animation-name: example;
animation-duration: 4s;
}

簡寫語法

可以使用簡寫語法將所有屬性合併在一起。

.element {
animation: example 4s linear infinite;
}

動畫效果示例

<!DOCTYPE html>
<html lang="zh-Hant">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>動畫效果示例</title>
<style>
@keyframes move {
0% {transform: translateX(0);}
50% {transform: translateX(100px);}
100% {transform: translateX(0);}
}
.box {
width: 100px;
height: 100px;
background-color: lightgreen;
animation: move 2s infinite;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>

在這個示例中,.box 元素會在 2 秒內水平移動 100 像素,然後返回原位,並且這個動畫會無限次重複。

實踐案例

我們將通過一個更複雜的示例來實踐過渡效果和動畫效果的綜合應用。

案例:互動按鈕

<!DOCTYPE html>
<html lang="zh-Hant">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>互動按鈕示例</title>
<style>
.button {
display: inline-block;
padding: 10px 20px;
color: white;
background-color: #3498db;
text-transform: uppercase;
text-decoration: none;
font-weight: bold;
transition: background-color 0.3s, transform 0.3s;
position: relative;
overflow: hidden;
}
.button::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 300%;
height: 300%;
background-color: rgba(255, 255, 255, 0.3);
transform: translate(-50%, -50%) scale(0);
transition: transform 0.6s;
border-radius: 50%;
}
.button:hover {
background-color: #2980b9;
transform: scale(1.05);
}
.button:hover::before {
transform: translate(-50%, -50%) scale(1);
}
</style>
</head>
<body>
<a href="#" class="button">Hover Me</a>
</body>
</html>

在這個案例中,我們創建了一個互動按鈕,當鼠標懸停在按鈕上時:

  • 背景顏色會平滑過渡到一個較深的藍色。
  • 按鈕會輕微放大。
  • 按鈕內部會有一個白色的圓形擴散效果。
avatar-img
15會員
111內容數
日後將分享關於我的經驗(日常、工作、技術),並期待未來能創造屬於我的宇宙。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Michael楊 的其他內容
在本章中,我們探討了CSS Grid佈局的基本概念和應用。CSS Grid提供了一個強大而靈活的二維佈局系統,使得處理複雜的網頁佈局變得更加簡單和直觀。我們學習了如何設置Grid容器和Grid項目,以及如何使用各種Grid屬性來定義和管理佈局。
在這一章節中,我們介紹了 Flexbox 這個 CSS 模型及其用法,重點講解了 Flex 容器和項目的各種屬性。通過具體的示例,展示了如何使用 Flexbox 進行一維佈局設計,並且通過實踐案例,展示了多行 Flex 項目和不同對齊方式的應用。
浮動(float)是早期用來創建佈局的技術。元素可以向左或向右浮動,旁邊的元素會環繞浮動元素。浮動元素通常用於圖文混排或簡單的兩欄佈局。
CSS 盒模型是理解和設計網頁佈局的核心概念。它包括元素的內容、填充、邊框和外邊距。
本章介紹了 CSS 中的顏色和背景屬性,包括文本顏色的設置方法、背景顏色和背景圖片的應用、背景重複和位置的配置,以及線性漸變和徑向漸變的使用。這些知識將幫助你更靈活地設計和美化網頁。
CSS入門-Day3 的主要內容包括字體大小、字體顏色、字體系列、字體樣式、字體粗細等屬性。此外,還涵蓋了文本對齊、行高、文字間距、單詞間距和文本裝飾。最後,介紹了如何引入和使用 Google 字體,以提高網頁的排版效果。
在本章中,我們探討了CSS Grid佈局的基本概念和應用。CSS Grid提供了一個強大而靈活的二維佈局系統,使得處理複雜的網頁佈局變得更加簡單和直觀。我們學習了如何設置Grid容器和Grid項目,以及如何使用各種Grid屬性來定義和管理佈局。
在這一章節中,我們介紹了 Flexbox 這個 CSS 模型及其用法,重點講解了 Flex 容器和項目的各種屬性。通過具體的示例,展示了如何使用 Flexbox 進行一維佈局設計,並且通過實踐案例,展示了多行 Flex 項目和不同對齊方式的應用。
浮動(float)是早期用來創建佈局的技術。元素可以向左或向右浮動,旁邊的元素會環繞浮動元素。浮動元素通常用於圖文混排或簡單的兩欄佈局。
CSS 盒模型是理解和設計網頁佈局的核心概念。它包括元素的內容、填充、邊框和外邊距。
本章介紹了 CSS 中的顏色和背景屬性,包括文本顏色的設置方法、背景顏色和背景圖片的應用、背景重複和位置的配置,以及線性漸變和徑向漸變的使用。這些知識將幫助你更靈活地設計和美化網頁。
CSS入門-Day3 的主要內容包括字體大小、字體顏色、字體系列、字體樣式、字體粗細等屬性。此外,還涵蓋了文本對齊、行高、文字間距、單詞間距和文本裝飾。最後,介紹了如何引入和使用 Google 字體,以提高網頁的排版效果。
你可能也想看
Google News 追蹤
Thumbnail
大家好,我是woody,是一名料理創作者,非常努力地在嘗試將複雜的料理簡單化,讓大家也可以體驗到料理的樂趣而我也非常享受料理的過程,今天想跟大家聊聊,除了料理本身,料理創作背後的成本。
Thumbnail
哈囉~很久沒跟各位自我介紹一下了~ 大家好~我是爺恩 我是一名圖文插畫家,有追蹤我一段時間的應該有發現爺恩這個品牌經營了好像.....快五年了(汗)時間過得真快!隨著時間過去,創作這件事好像變得更忙碌了,也很開心跟很多厲害的創作者以及廠商互相合作幫忙,還有最重要的是大家的支持與陪伴🥹。  
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
  最近遇到一些人想做音訊的合成,我回答他或許可以從圖像風格轉換中找到些靈感,我才突然想起我對於這部分的認知只止於知道他能做什麼及結果大概如何,對於內部訓練邏輯及結構並沒有認真的去了解,現在剛好趁此機會好好的學習一下。
隨著數位世界的不斷演進,網站設計已經超越了純粹的資訊傳遞,它已成為一種藝術形式,能夠展示創意、吸引訪客並提供卓越的用戶體驗。本文將深入探討網站設計的最新趨勢,並介紹一些輔助架設網站的軟體工具,助您打造出令人驚艷的線上存在。
Thumbnail
Ae 小技巧:Adjustment Layer 調整圖層 動態後記系列會記錄一些我在製作中的記錄,可能是分解動畫、小技巧、發想、腳本......等等。 每篇都是小短篇,就是補充用的小筆記,沒有前後順序,可跳著閱讀。
Thumbnail
CSS 的繼承性是開發網頁樣式時的一個重要概念,它使得樣式設計更加靈活和高效,有助於提高程式碼的可讀性、一致性和可重用性,並加快開發速度,從而提供更好的開發體驗。
Thumbnail
Creative Coding 作品變化概念,有或沒有的差別,隨機性,色彩模式的調整...等
前言 終於要到這個振奮人心的章節了,我們終於要來學習,如何讓自己的網頁更加美觀。 但在這之前,我們肯定得先學習,如何將我們的 CSS 檔案,連接到 HTML 當中。 連結分類 首先,我們在連結 CSS 的方法中,有分為三種: 內聯連結 在 .html 當中,任一標籤的裡面,用屬性 s
Thumbnail
您對前端有興趣,對CSS不陌生。CSS新特性前應瞭解基本內容。CSS屬性制定經歷過程,瀏覽器私有前綴及處理,開發者對新特性漸進增強,優雅降級處理,Web標準定義、作用等。
Thumbnail
大家好,我是woody,是一名料理創作者,非常努力地在嘗試將複雜的料理簡單化,讓大家也可以體驗到料理的樂趣而我也非常享受料理的過程,今天想跟大家聊聊,除了料理本身,料理創作背後的成本。
Thumbnail
哈囉~很久沒跟各位自我介紹一下了~ 大家好~我是爺恩 我是一名圖文插畫家,有追蹤我一段時間的應該有發現爺恩這個品牌經營了好像.....快五年了(汗)時間過得真快!隨著時間過去,創作這件事好像變得更忙碌了,也很開心跟很多厲害的創作者以及廠商互相合作幫忙,還有最重要的是大家的支持與陪伴🥹。  
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
  最近遇到一些人想做音訊的合成,我回答他或許可以從圖像風格轉換中找到些靈感,我才突然想起我對於這部分的認知只止於知道他能做什麼及結果大概如何,對於內部訓練邏輯及結構並沒有認真的去了解,現在剛好趁此機會好好的學習一下。
隨著數位世界的不斷演進,網站設計已經超越了純粹的資訊傳遞,它已成為一種藝術形式,能夠展示創意、吸引訪客並提供卓越的用戶體驗。本文將深入探討網站設計的最新趨勢,並介紹一些輔助架設網站的軟體工具,助您打造出令人驚艷的線上存在。
Thumbnail
Ae 小技巧:Adjustment Layer 調整圖層 動態後記系列會記錄一些我在製作中的記錄,可能是分解動畫、小技巧、發想、腳本......等等。 每篇都是小短篇,就是補充用的小筆記,沒有前後順序,可跳著閱讀。
Thumbnail
CSS 的繼承性是開發網頁樣式時的一個重要概念,它使得樣式設計更加靈活和高效,有助於提高程式碼的可讀性、一致性和可重用性,並加快開發速度,從而提供更好的開發體驗。
Thumbnail
Creative Coding 作品變化概念,有或沒有的差別,隨機性,色彩模式的調整...等
前言 終於要到這個振奮人心的章節了,我們終於要來學習,如何讓自己的網頁更加美觀。 但在這之前,我們肯定得先學習,如何將我們的 CSS 檔案,連接到 HTML 當中。 連結分類 首先,我們在連結 CSS 的方法中,有分為三種: 內聯連結 在 .html 當中,任一標籤的裡面,用屬性 s
Thumbnail
您對前端有興趣,對CSS不陌生。CSS新特性前應瞭解基本內容。CSS屬性制定經歷過程,瀏覽器私有前綴及處理,開發者對新特性漸進增強,優雅降級處理,Web標準定義、作用等。