簡單的CSS動畫教程針對初學者
CSS動畫的關鍵在於掌握@keyframes和animation屬性的使用。 1. @keyframes用於定義動畫關鍵幀,通過from/to或百分比設定動畫不同階段的狀態;2. animation屬性將動畫應用到元素上,包括名稱、持續時間、緩動函數、延遲和播放次數等設置;3. 可通過簡寫屬性簡化代碼,並利用animation-delay實現多個元素錯開播放的效果;4. 注意瀏覽器兼容性、性能優化、觸發方式及保持動畫簡潔。掌握這些核心要點,就能輕鬆做出流暢且美觀的CSS動畫。
CSS動畫其實沒那麼難,尤其是對新手來說。只要你掌握了基本結構和幾個關鍵屬性,就能做出流暢又好看的效果。這篇文章會從最簡單的例子講起,幫你理解怎麼用CSS做動畫。

1. 先搞清楚@keyframes
是什麼
想做動畫,首先要學會定義關鍵幀。 @keyframes
就是用來告訴瀏覽器動畫在不同階段應該是什麼樣的。

比如你想做一個小方塊從左往右動的動畫,你可以這樣寫:
@keyframes move { from { transform: translateX(0); } to { transform: translateX(200px); } }
你也可以用百分比來控制更細的節奏,比如:

@keyframes fadeIn { 0% { opacity: 0; } 50% { opacity: 0.5; } 100% { opacity: 1; } }
記住: @keyframes
只是定義了“動畫長什麼樣”,但還沒應用到任何元素上。
2. 把動畫加到元素上
定義好動畫之後,下一步就是把它用到某個元素上。這就需要用到animation
屬性或者它的子屬性。
比如你想讓一個div 動起來,可以這樣寫:
.box { animation-name: move; animation-duration: 2s; animation-timing-function: ease-in-out; animation-delay: 0.5s; animation-iteration-count: infinite; }
這些屬性分別控制:
- 動畫名字(要跟
@keyframes
的名字一致) - 持續時間
- 緩動函數(速度變化方式)
- 延遲多久開始
- 動畫播放幾次(infinite 表示無限循環)
當然你也可以簡寫成一行:
animation: move 2s ease-in-out 0.5s infinite;
3. 簡單實用的例子:加載動畫
新手可以從一個常見的加載動畫練手—— 三個點依次出現再消失的那種。
HTML 結構大概是這樣:
<div class="loader"> <span>.</span> <span>.</span> <span>.</span> </div>
然後CSS 動畫就可以這樣寫:
@keyframes blink { 0%, 80%, 100% { opacity: 0; } 40% { opacity: 1; } } .loader span { display: inline-block; animation: blink 1.4s infinite ease-in-out both; } .loader span:nth-child(2) { animation-delay: 0.2s; } .loader span:nth-child(3) { animation-delay: 0.4s; }
這個例子的關鍵在於利用了每個點不同的animation-delay
,實現了錯開的效果。
4. 注意幾個容易忽略的地方
-
瀏覽器兼容性:大多數現代瀏覽器都支持
animation
,但如果要兼容舊版本IE,可能需要加-webkit-
或其他前綴。 - 性能問題:不要給太多元素加複雜動畫,會影響頁面性能。
-
觸發方式:默認動畫是頁面加載就執行的。如果你希望點擊或懸停時才動,可以用
:hover
或JS 控制。 - 保持簡潔:剛開始別太追求復雜效果,先掌握基本結構更重要。
基本上就這些。 CSS 動畫看起來有點多屬性,但只要記住@keyframes
定義動作、 animation
控製播放,配合一些常用屬性,就能輕鬆做出好看的動畫了。
以上是簡單的CSS動畫教程針對初學者的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

不同瀏覽器對CSS解析存在差異,導致顯示效果不一致,主要包括默認樣式差異、盒模型計算方式、Flexbox和Grid佈局支持程度及某些CSS屬性行為不一致。 1.默認樣式處理不一致,解決方法是使用CSSReset或Normalize.css統一初始樣式;2.舊版IE的盒模型計算方式不同,建議統一使用box-sizing:border-box;3.Flexbox和Grid在邊緣情況或舊版本中表現有差異,應多測試並使用Autoprefixer;4.某些CSS屬性行為不一致,需查閱CanIuse並提供降級

要使用CSS創建響應式圖片,主要可通過以下方法實現:1.使用max-width:100%和height:auto讓圖片在保持比例的同時自適應容器寬度;2.結合HTML的srcset和sizes屬性智能加載適配不同屏幕的圖片源;3.利用object-fit和object-position控製圖片裁剪與焦點展示。這些方法共同確保圖片在不同設備上清晰、美觀地呈現。

opacity是CSS中用於控制元素整體透明度的屬性,取值範圍為0(完全透明)到1(完全不透明)。 1.常用於圖片hover淡出效果,通過設置opacity過渡增強交互體驗;2.製作背景遮罩層提昇文字可讀性;3.控制按鈕或圖標在禁用狀態下的視覺反饋。需注意它會影響所有子元素,且與rgba不同,後者僅影響指定顏色部分。搭配transition可實現平滑動畫,但頻繁使用可能影響性能,建議結合will-change或transform使用。合理應用opacity能增強頁面層次感和交互性,但應避免干擾用戶

accent-color是CSS中用於自定義復選框、單選按鈕和滑塊等表單元素高亮顏色的屬性;1.它直接改變表單控件選中狀態的默認顏色,如將復選框的藍色勾選標記改為紅色;2.支持的元素包括type="checkbox"、type="radio"和type="range"的輸入框;3.使用accent-color可避免複雜的自定義樣式和額外DOM結構,保持原生可訪問性;4.現代瀏覽器普遍支持,舊瀏覽器需降級處理;5.設置accent-col

The:has()pseudo-classinCSSallowstargetingaparentelementbasedonitschildelements.Itworksbyusingthesyntaxparent:has(child-selector)toapplystylesconditionally.Forexample,div:has(img)appliesstylestoadivcontaininganimage.Multipleselectorscanbeusedwithcomma

瀏覽器默認樣式通過自動應用邊距、填充、字體和表單元素樣式確保基本可讀性,但可能導致跨瀏覽器佈局不一致。 1.默認外邊距和填充改變佈局流,如標題、段落和列表自帶間距;2.默認字體設置影響可讀性,如16px字號和TimesNewRoman字體;3.表單元素在不同瀏覽器顯示差異大,需重置外觀;4.某些標籤如strong和em有默認強調樣式,需顯式覆蓋。解決方法包括使用Normalize.css、重置樣式或全局清除邊距與填充,同時自定義字體和表單樣式以保證一致性。

要美化段落開頭提升視覺吸引力,常見做法是使用CSS的偽元素或手動設置文檔樣式。網頁開發中可用p::first-letter設置首字母樣式,如放大、加粗、變色,但需注意僅適用於塊級元素;若想突出整段首行,則用p::first-line來加樣式;在Word等文檔軟件中可手動調整首字母格式或創建樣式模板,而InDesign有內置“首字下沉”功能適合出版設計;應用時需注意細節,如避免複雜樣式影響閱讀、確保兼容性和格式一致性。

使用CSS的::selection偽元素可自定義網頁文字選中時的高亮樣式,提升頁面美觀與統一性。 1.基礎設置:通過::selection定義background-color與color,如黃色背景配深灰字體;也可限定特定元素如p::selection。 2.兼容處理:添加-webkit-前綴以兼容Safari及移動端瀏覽器,Firefox和Edge標準支持良好。 3.注意可讀性:避免顏色對比過強或過於花哨,應與整體設計協調,例如深色模式下選用柔和藍底提升視覺舒適度。合理運用可增強界面質感,忽略細節則
