📕
HTML & CSS
  • 網頁設計 - HTML & CSS
  • 1 簡介
    • 1.1 講者簡介
    • 1.2 課程須知
    • 1.3 網站前端簡介
    • 1.4 開發工具簡介
    • 1.5 第一個網頁
  • 2 HTML
    • 2.1 html 文件基本結構
    • 2.2 宣告、標籤、屬性、元素
    • 2.3 保留文字格式
    • 2.4 表示程式的標籤
    • 2.5 註解
    • 2.6 網頁標題
    • 2.7 中介資料(Meta Data)
    • 2.8 縮寫
    • 2.9 斷行與水平分隔線
    • 2.10 段落
    • 2.11 內容標題
    • 2.12 判別區塊與行內
    • 2.13 列表
    • 2.14 清單
    • 2.15 連結
    • 2.16 圖片
    • 2.17 獨立內容
    • 2.18 表格
    • 2.19 嵌入外站
    • 2.20 span 和 div
    • 2.21 引用
    • 2.22 有結構的語意元素
    • 2.23 結構驗證
    • 2.24 HTML Entity(實體)
    • 2.25 影片
    • 2.26 音訊
    • 2.27 其它標籤
    • 2.28 表單
    • 2.29 HTML 所有標籤
  • 3 CSS
    • 3.1 套用 CSS
    • 3.2 註解
    • 3.3 Selectors - 屬性及值
    • 3.4 Selectors - 符號
    • 3.5 Selectors - class 和 id
    • 3.6 關於優先權
    • 3.7 排版 - 關於 display 屬性
    • 3.8 排版 - 區塊模型(Box Model)
    • 3.9 排版 - vertical-align 對齊
    • 3.10 練習 - 固定式版型
    • 3.11 關於 Pseudo Element
    • 3.12 關於 Pseudo Class
    • 3.13 文字樣式
    • 3.14 關於溢載
    • 3.15 連結樣式
    • 3.16 列表樣式
    • 3.17 表格樣式
    • 3.18 背景樣式
    • 3.19 排版 - 關於定位(position)
    • 3.20 排版 - 關於浮動(float)
    • 3.21 關於不透明度 opacity
    • 3.22 關於 visibility、pointer-events
    • 3.23 關於 outline
    • 3.24 表單樣式
    • 3.25 效果 - 游標
    • 3.26 效果 - 圓角
    • 3.27 效果 - 區塊陰影
    • 3.28 效果 - 文字陰影
    • 3.29 效果 - 轉換 transform
    • 3.30 Flexbox 排版 - Container
    • 3.31 Flexbox 排版 - Items
    • 3.32 Column 多欄排版模式
    • 3.33 其它補充
  • 4 練習
  • 5 作業:網頁切版
  • 6 參考資料
Powered by GitBook
On this page
  • rotate 旋轉
  • scale 縮放
  • translate 偏移
  • skew 傾斜
  • 例:導覽列傾斜
  • 同時套用多種 transform 效果
  1. 3 CSS

3.29 效果 - 轉換 transform

Previous3.28 效果 - 文字陰影Next3.30 Flexbox 排版 - Container

Last updated 1 year ago

transform 2D 轉換效果共有四種,分別是:

  • rotate:旋轉

  • scale:縮放

  • translate:偏移

  • skew:傾斜

rotate 旋轉

一個元素設定旋轉,單位 deg(度數),然後原點是以元素的中心點來旋轉。度數是正的,就以順時針方向;反之則為逆時針方向。

可以透過 transform-origin,來改變旋轉的原點位置,例如以左上角。

元素旋轉後,並不會影響到周圍的元素。

語法:

transform: rotate(20deg);  /* 順時針轉 20 度 */
transform-origin: 50% 50%; /* 這是預設值,元素的中心點 */

範例:

scale 縮放

語法:

一個元素設定縮放,預設是 1。可設定大於等於 0 的小數、整數。

可以透過 transform-origin,來改變縮放的原點,例如以左上角。

元素縮放後,並不會影響到周圍的元素。

transform: scale(1.5);  /* 原來的 1.5 倍 */
transform-origin: 50% 50%; /* 這是預設值,元素的原點 */

也可以只針對單一方向來縮放:

transform: scaleX(1.5); /* 水平方向 */
transform: scaleY(1.5); /* 垂直方向 */

範例:

translate 偏移

設定相對於自己原來的位置,設定要如何水平方向、垂直方向的偏移。

語法:第一個參數是水平方向(x 軸)的偏移,第二個參數是垂直方向(y 軸)的偏移:

transform: translate(20px, 10px); /* 往右移動 20px,往下移動 20px */
transform: translate(50%, 50%); /* 往右移動自己寬度的一半,往下移動自機高度的一半 */

如果是只想設定其中一個方向就好,可以使用以下語法(translateX、translateY ):

transform: translateX(10px); /* 設定水平方向偏移,往右移 10px */
transform: translateY(50%); /* 設定垂直方向偏移,往下移自己高度的一半 */

元素的偏移,並不會影響到周圍的元素。

範例:

skew 傾斜

語法:第一個參數是針對 x 軸方向傾斜,第二個是 y 軸方向傾斜

transform-origin: 0% 0%; /* 改變原點位置 */
transform: skew(10deg, 0deg);

假設 skew(20deg, 0deg):

假設 skew(0deg, 20deg):

範例:

例:導覽列傾斜

同時套用多種 transform 效果

不能寫多個 transform,而是寫在同一個 transform,且用空格做分隔。

語法:

transform: scale(1.5) rotate(30deg);

skew(20deg, 0deg)
skew(0deg, 20deg)