CSS筆記 ▎還分不清楚 transform 和 transition 嗎?

更新於 發佈於 閱讀時間約 5 分鐘
raw-image

前幾天在學左側選單收合的技巧,發現自己還是常常把transform、transition,甚至是translate搞混!為了分清楚中文意思全部有「轉變」的三個關係字,並且理解到底什麼時候要用哪個屬性才正確,這篇筆記誕生了!

Transform

transform (v.) 轉換

to change completely the appearance or character of something or someone

翻譯:一個人或一件事物的特性或外觀完全改變

從單字分析上著手比較好記,字根trans加上form(形式),即為形式上完全改變

transform是CSS的屬性之一,可以用它來控制HTML元素,做出旋轉、縮放、移動等效果

CSS寫法➜  transform: 要帶入的效果(給效果設定的數值);

.box1{
transform: scale(2,2);
}
.box2{
  transform:translateX(150px);
  }

範例:

  • 滑鼠滑過綠色box,會透過 scale 放大2倍
  • 滑鼠滑過黃色box,會透過 translate 右移150px

Translate

剛剛的範例看到translate出現了!因此translate並不是CSS屬性,而是transform裡面的「屬性值」,具有位移效果,從單字分析上來看:

translate (v.) 轉變

to change something into a new form

翻譯:將某物變成新的形式,就位移的效果而言,跟字詞解釋也是符合的!


Transition

transition (n.) 過渡、轉變

a change from one form or type to another, or the process by which this happens

翻譯:從一種形式或類型轉換成另一種,或是這個轉變發生的過程

transition可以用來設定基礎的動畫效果,直接指定要產生變化的CSS屬性

CSS寫法➜

transition: 指定CSS屬性 要執行的時間 延遲執行的時間 動態執行參數;

.aside{  
  transition: margin-left 1s .3s cubic-bezier(0.3, 0.9, 0.1, -0.2);
  }

上面是合併寫法,也可以把每個值分開寫成

.aside{
  transition-property: margin-left;
  transition-duration: 1s;
  transition-delay: 0.3s;
  transition-timing-function: ease;
  }
  • 動態執行參數 transition-timing-function 有以下幾個:
    linear: 平均速度
    ease: 快入緩出 (預設)
    ease-in: 緩入
    ease-out: 緩出
    ease-in-out: 緩入緩出
    cubic-bezier: 貝茲曲線 自定義速度模式

來看看範例吧:

Amber速記法:轉折詞 = transition words ➜ 因此transition就是迂迴轉變的過程


左側選單實際運用

研究完三個搞混的單詞後,回到左側選單的實際運用上,整理了兩種寫法:

寫法一:讓該物件透過transform位移,搭配transition的漸變轉換

.aside{  
  transform:translateX(250px);
  transition:0.3s ease;
  }

寫法二:利用CSS本身的屬性去移動距離,搭配transition調整屬性轉變過程,之後用javaScript或jQuery去動態增加這個class名稱給該物件

.active{  
  margin-left: 250px;
  transition: margin-left 3s;
  }

總結

  • transform :是CSS屬性,可以改變HTML元素特性
  • translate:transform屬性值之一,能夠讓元素位移
  • transition:是CSS屬性,改變CSS屬性的過程


今天的「變變變」筆記到此結束,我是Amber,前端學習中,歡迎交流討論🤞🏻
文中英文解釋擷取自劍橋辭典,技術概念及解釋為個人整理筆記。

留言
avatar-img
留言分享你的想法!
avatar-img
Amber hh的沙龍
23會員
22內容數
Amber hh的沙龍的其他內容
2024/09/04
第三次月會來了!這個月的主題是「工程師的溝通秘訣」 很多人認為,當工程師只要跟電腦對話就好,在轉職之前我也這麼認為的,尤其是以前在服務業工作,從早到晚跟客戶對談、處理他們各種疑難雜症和情緒的過程,實在太容易讓我感到心累了,倒不如整天跟電腦對話,對錯很明顯,也不用顧及雙方情緒,肯定比處理客訴簡單
Thumbnail
2024/09/04
第三次月會來了!這個月的主題是「工程師的溝通秘訣」 很多人認為,當工程師只要跟電腦對話就好,在轉職之前我也這麼認為的,尤其是以前在服務業工作,從早到晚跟客戶對談、處理他們各種疑難雜症和情緒的過程,實在太容易讓我感到心累了,倒不如整天跟電腦對話,對錯很明顯,也不用顧及雙方情緒,肯定比處理客訴簡單
Thumbnail
2024/08/03
JSDoc 全名是 JavaScript Documentation,顧名思義是為 JavaScript 所使用的 API 文件,在程式碼內透過註解的方式撰寫,運行後 JSDoc 會自動掃描註解內容,並生成一份網頁版的文件,對於沒有使用 Typescript 開發的專案,也
Thumbnail
2024/08/03
JSDoc 全名是 JavaScript Documentation,顧名思義是為 JavaScript 所使用的 API 文件,在程式碼內透過註解的方式撰寫,運行後 JSDoc 會自動掃描註解內容,並生成一份網頁版的文件,對於沒有使用 Typescript 開發的專案,也
Thumbnail
2024/07/24
剛開始學前端都是跟著六角的課程進度走,雖然知道自己不會的技術很多,但至少有明確的學習目標,也會定期產出結果,當時的焦慮來源只覺得時間總是不夠,殊不知真正踏入實務工作後,除了焦慮時間不夠之外,甚至還有點迷失了方向。 轉職後的公司僅一人前端,我沒有 mentor 帶領,也找不到可以效仿學習的 Ro
Thumbnail
2024/07/24
剛開始學前端都是跟著六角的課程進度走,雖然知道自己不會的技術很多,但至少有明確的學習目標,也會定期產出結果,當時的焦慮來源只覺得時間總是不夠,殊不知真正踏入實務工作後,除了焦慮時間不夠之外,甚至還有點迷失了方向。 轉職後的公司僅一人前端,我沒有 mentor 帶領,也找不到可以效仿學習的 Ro
Thumbnail
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
這節課的學習目標是了解 CSS 的基本語法結構和使用方法。
Thumbnail
這節課的學習目標是了解 CSS 的基本語法結構和使用方法。
Thumbnail
在先前的型別文章中,我們曾經聊過 JavaScript 常用的一些型別,但針對布林這個型別,我們沒有做太多的解釋,原因在於布林值在 JavaScript 會有一個特殊的規則:自動轉型 。 自動轉型可說是讓 JavaScript 為弱型別、且難以管理的最重要的要素,接著就來讓我們來聊聊什麼是自動轉型
Thumbnail
在先前的型別文章中,我們曾經聊過 JavaScript 常用的一些型別,但針對布林這個型別,我們沒有做太多的解釋,原因在於布林值在 JavaScript 會有一個特殊的規則:自動轉型 。 自動轉型可說是讓 JavaScript 為弱型別、且難以管理的最重要的要素,接著就來讓我們來聊聊什麼是自動轉型
Thumbnail
display 是一種 CSS 屬性,指定「 是否 / 如何 」顯示元素,而每一個 HTML element 都有預設的 display value,然而在預設的情況下,新手如我在剛接觸時常踩入深不見底的盲區, 一起來釐清學會辨識吧!
Thumbnail
display 是一種 CSS 屬性,指定「 是否 / 如何 」顯示元素,而每一個 HTML element 都有預設的 display value,然而在預設的情況下,新手如我在剛接觸時常踩入深不見底的盲區, 一起來釐清學會辨識吧!
Thumbnail
每個HTML元素都會有預設的CSS設定,但由於各家瀏覽器預設值沒有統一,就可能導致同樣的程式碼在不同瀏覽器呈現結果不同,比如在Chrome排版看起來正常,但到Safari看起來卻跑版了。因此,Reset CSS與Normalize.css都是為了解決上述問題衍生出來的方法。 Reset CSS
Thumbnail
每個HTML元素都會有預設的CSS設定,但由於各家瀏覽器預設值沒有統一,就可能導致同樣的程式碼在不同瀏覽器呈現結果不同,比如在Chrome排版看起來正常,但到Safari看起來卻跑版了。因此,Reset CSS與Normalize.css都是為了解決上述問題衍生出來的方法。 Reset CSS
Thumbnail
自學程式的過程中,你總是把transform、transition,甚至是translate搞混嗎!為了分辨「轉變」的三個關係字,並理解到底什麼時候要用哪個屬性才正確,這篇筆記誕生了!
Thumbnail
自學程式的過程中,你總是把transform、transition,甚至是translate搞混嗎!為了分辨「轉變」的三個關係字,並理解到底什麼時候要用哪個屬性才正確,這篇筆記誕生了!
Thumbnail
相信透過之前的介紹,大家對於 CSS 選擇器(CSS selector)已經不陌生了,今天我們要來聊聊兩個在實務上非常好用的偽類(pseudo class )語法,他們分別是 :nth-child() 與 :nth-of-type(),在了解這兩個語法之前,我們首先要先來聊聊什麼是「偽類」呢?
Thumbnail
相信透過之前的介紹,大家對於 CSS 選擇器(CSS selector)已經不陌生了,今天我們要來聊聊兩個在實務上非常好用的偽類(pseudo class )語法,他們分別是 :nth-child() 與 :nth-of-type(),在了解這兩個語法之前,我們首先要先來聊聊什麼是「偽類」呢?
Thumbnail
不論是在基礎或是進階的版面排列,幾乎離開不了 position 系列的 CSS 語法,如果對於這些語法不熟悉,要快速完成畫面需求幾乎是不可能的,甚至會延宕整個團隊的開發速度(對,position 語法就是這麽重要)。
Thumbnail
不論是在基礎或是進階的版面排列,幾乎離開不了 position 系列的 CSS 語法,如果對於這些語法不熟悉,要快速完成畫面需求幾乎是不可能的,甚至會延宕整個團隊的開發速度(對,position 語法就是這麽重要)。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News