Framer 教學筆記 📐
這裡整理了 Framer 官方教學影片的重點,方便快速查找功能與理解差異。點選左側選單即可進入課程。
目前已收錄 Fundamentals 1–30 堂完整內容,其餘章節目錄已建立,內容陸續補充中。
⚙️
Navigations
7 堂 · 發布設定
🧱
Fundamentals
30 堂 · 基礎核心
Fundamentals
30 堂 · 基礎核心
介面主要分為四區:頂部 工具列 (Toolbar)、左側 側邊欄 (Left Sidebar)、右側 屬性面板 (Right Sidebar)、中央 畫布 (Canvas)。
左側:Framer 主選單、插入面板(快捷鍵 I)、佈局工具、文字工具。
快速動作選單:按 ⌘ K 呼叫,可直接輸入關鍵字執行指令。也是學習快捷鍵的好地方。
右側:協作者頭像、語系設定、專案設定、預覽 ⌘ P、邀請、發布按鈕。
| 頁籤 | 功能 |
| Pages | 檢視、建立與編輯網站的各個頁面 |
| Layers | 顯示當前頁面所有元素與階層關係(頂部附頁面切換器) |
| Assets | 集中管理組件 (Components)、樣式 (Styles) 與程式碼檔案 |
▸ 上下文關聯性:此面板是動態的,根據目前選取的元素顯示對應屬性。選取斷點框架
▸ 斷點設定,選取文字
▸ 字體、字重、間距等設定。
無限畫布:網頁內容建立在「斷點 (Breakpoints)」這種頂層框架中。
底部工具:平移工具(或按住 Space)、評論工具、日/夜間模式切換。
縮放:Zoom to fit、Zoom to selection、縮放至 100%
頂層是 工作區 (Workspace),包含所有 專案 (Projects),可用資料夾整理。
每個專案 = 一個獨立網站,內含多個 頁面 (Pages)。
首頁 (Home) 是訪客進入主網域時預設載入的頁面。可在頁面設定修改網頁標題等 Meta 資料。
新增頁面時,名稱會成為網址路徑(例如 /shop)。更改頁面名稱會讓舊連結失效 , 需用重新導向功能修復。
斷點框架 (Breakpoints):網站的實際發布內容「必須」放置在斷點內,放在外面的元素不會顯示。
每個頁面預設有一個 1200px 桌面版斷點,點 + 可新增平板或手機斷點。
框架是排版最基礎的建構區塊,本質上是一個可包含其他圖層的矩形。
Framer 沒有單獨的矩形工具,框架就能達成所有矩形需求,也可以建立堆疊、網格等。
直接點擊:Framer 只需點擊一次即可選取任意深度的圖層,不需像 Figma 雙擊鑽取。
多重選取:按住 Shift 點選;拖曳選取框時按住 Option,只選取「完全包含」在範圍內的圖層。
💡 不習慣直接選取的話,可在偏好設定中關閉「Use direct selection」,恢復類似 Figma 的行為。
安全移動:按住 Option + ⌘(Mac)或 Alt + Ctrl(PC)在畫布任意處拖曳,可移動選取的圖層而不誤觸其他元素。
微調:方向鍵每次 1px,Shift + 方向鍵 每次 10px。
將圖層拖曳到另一個框架邊界範圍內,會自動被嵌套為子層。
防止嵌套:放開圖層時按住 Space,圖層不會被打包進父層。
| 術語 | 說明 |
| Nested / Child(子層) | 被包含在框架內的圖層 |
| Parent(父層) | 直接包含該圖層的框架 |
| Siblings(手足圖層) | 位於同一層級的圖層 |
Shift + 拖曳:繪製正方形;Option + 拖曳:從中心點向外展開;Space + 拖曳:繪製過程中移動位置。
快速包裝 (Add Frame):選取多個圖層後,按右鍵選 Add frame,或按 ⌘ Return。
移除父層(保留子層):選取父層後按 ⌘ Delete,子圖層會被保留。
| 類型 | 特性 | CSS 對應 |
| 絕對 (Absolute) | 相對於父層框架自由定位 | position: absolute |
| 相對 (Relative) | 由 Stack/Grid 的內容流決定位置 | position: relative |
| 固定 (Fixed) | 相對於視區固定不動 | position: fixed |
| 黏性 (Sticky) | 碰到視區頂部時黏住 | position: sticky |
實心數值:已釘選,與父層保持固定間距。反灰數值:未釘選,允許空間變化。
兩側都釘選:父層改變尺寸時,圖層自動被拉伸以維持固定像素邊距。
圖層從相對定位切換為絕對定位並產生重疊時,系統會自動加入 Z-index 屬性。
數字越大越靠前,越小越靠後,可以是負數。預設值為 0。
/* 絕對定位:相對於父層 */
.child {
position: absolute;
top: 20px;
left: 20px;
right: 20px; /* 兩側釘選,拉伸寬度 */
z-index: 10;
}
/* 父層必須有相對定位,才能作為錨點 */
.parent {
position: relative;
}
💡 Framer 中的釘選邏輯直接對應 CSS 的 top/right/bottom/left 屬性。
堆疊是一種套用了佈局屬性的框架,能將子圖層自動排列成垂直欄或水平列。
類似 Figma 的 Auto Layout 或 CSS 的 Flexbox,適合導覽列、按鈕、卡片列表等單向排版。
從工具列 Layout 選單選擇 Rows 或 Columns,直接在畫布拖曳。
選取多個圖層後,按右鍵 Add Stack,或 Option + ⌘ + Return(Mac)/ Ctrl + Alt + Enter(PC)。
選取框架後按 Shift + A:快速變成堆疊並自動貼合內容大小。
| 屬性 | 說明 |
| 方向 (Direction) | 水平(Row)或垂直(Column)排列,即「主軸」 |
| 分佈 (Distribute) | Start / Center / End / Space Between / Around / Evenly |
| 對齊 (Align) | 垂直於主軸方向的對齊:Start / Center / End |
| 間距 (Gap) | 元素之間的統一間隔 |
| 內距 (Padding) | 堆疊內部的緩衝區,搭配 Fit Content 使用 |
| 換行 (Wrap) | 空間不足時自動折行,防止內容截斷 |
/* Framer Stack,CSS Flexbox */
.stack {
display: flex;
flex-direction: row; /* 方向:水平 */
justify-content: space-between; /* 分佈 */
align-items: center; /* 對齊 */
gap: 16px; /* 間距 */
padding: 20px; /* 內距 */
flex-wrap: wrap; /* 換行 */
}
Fill 讓圖層填滿父層中的可用空間,只考慮相對定位的手足圖層,忽略絕對定位的圖層。
▸ fr(比例單位)決定各圖層分配可用空間的比例。
若有圖層為固定尺寸,它先佔用固定空間,其餘設為 Fill 的圖層再均分剩餘空間。
Fit Content 讓父層框架自動縮小,緊緊包覆內部的子層元素。
最佳實踐:堆疊的高度設為 Fit Content,寬度設為 Fill,適應各種螢幕大小。
不能同時設定子層要 Fill 父層,又要父層 Fit Content 子層。發生衝突時 Framer 會顯示警告,並自動切換為固定尺寸。
/* Fill,flex-grow */
.fill-item {
flex: 1; /* = 1fr,佔等比空間 */
}
.fill-item-2 {
flex: 2; /* = 2fr,佔兩倍空間 */
}
/* Fit Content,width/height: fit-content */
.fit-parent {
width: fit-content;
height: fit-content;
}
| Stacks(堆疊) | Grids(網格) |
| 維度 | 一維(單方向) | 二維(行 + 列) |
| CSS 對應 | Flexbox | CSS Grid |
| 適合場景 | 導覽列、按鈕組、卡片清單 | 圖片庫、儀表板、Bento 佈局 |
| 快捷鍵 | Shift + A | Shift + G |
▸ 父層網格框架
▸ 隱形的 網格單元格 (Cells)
▸ 裝在格子裡的 網格項目 (Grid items)。
行列跨度 (Span):可設定項目跨越多少欄/列,甚至跨越所有欄 (All columns),適合做 Bento 佈局。
/* Framer Grid,CSS Grid */
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr); /* 3欄 */
gap: 16px;
}
/* 跨欄 (Span) */
.featured-item {
grid-column: span 2; /* 佔2欄 */
grid-row: span 2; /* 佔2列 */
}
固定在螢幕同一位置,不隨頁面滾動移動。例:固定頂部的導覽列、右下角浮動按鈕。
設定條件:元素必須是「斷點框架的直接子層」才能使用固定定位。
固定定位的元素會從堆疊流中脫離,漂浮在其他內容上方。Z-index 可調整重疊順序。
元素一開始隨內容捲動,碰到視區頂部時「黏」在固定位置,直到父層框架底部碰到它才被帶走。
使用黏性定位,圖層必須是 Stack 或 Grid 的子層。
元素往上的每一個父層框架,Overflow 都必須設為 Visible,否則黏性定位完全失效。
Offset(偏移量):設定元素距視區頂邊多遠的地方開始黏著,例如設 64px 保留導覽列高度。
/* 固定定位 */
.navbar {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 100;
}
/* 黏性定位(需要父層 overflow: visible)*/
.sidebar {
position: sticky;
top: 80px; /* 距視區頂部 80px 時開始黏 */
}
/* ⚠️ 父層不能有 overflow: hidden/auto */
.parent {
overflow: visible; /* 必須! */
}
| 模式 | 說明 | CSS 對應 |
| 固定 (Fixed) | 設定明確像素,不隨其他元素變化 | 具體的 px 值 |
| 相對 (Relative) | 父層大小的百分比,可超過 100% | 百分比 % |
| 填滿 (Fill) | 在 Stack/Grid 中佔據剩餘可用空間的比例 | flex: 1 |
| 適應內容 (Fit) | 父層自動包覆相對定位的子圖層 | fit-content |
| 視區 (Viewport) | 瀏覽器視窗高度的百分比(VH) | 100vh |
適用定位類型:相對尺寸適用任何定位類型,Fill 只適用相對定位的圖層。
忽略手足圖層:相對尺寸設 50% 就是父層的 50%,不管旁邊有多少手足圖層;Fill 會考慮剩餘空間。
可超過 100%:相對尺寸可以設超過 100%,讓元素比父層還大(例如 160% 的圓形背景裝飾)。
Min:不要小於此數值,撐起框架,防止縮得太小破壞閱讀性。
Max:不要大於此數值,限制框架,防止在大螢幕上被過度拉伸。
💡 這兩個屬性預設不顯示,需要時手動點擊屬性面板的 + 號才會加入。
| 場景 | 設定方式 |
| 防止卡片過窄(Wrap 排版) | 卡片設 Fill + Min Width: 280px |
| 防止內容在大螢幕過寬 | 內容容器設 Fill + Max Width: 880px(背景仍滿版) |
| 首屏 100vh 在矮視窗不被截斷 | 高度 100VH + Min Height: 520px |
| 限制文字摘要顯示行數 | Max Height = 行數 × 字號 × 行高(如 4×16×1.4=96px) |
/* 背景滿版 + 內容有最大寬度限制 */
.section {
width: 100%; /* 背景填滿 */
background: #f0f0f0;
display: flex;
justify-content: center;
}
.container {
width: 100%;
max-width: 880px; /* 限制內容不過寬 */
padding: 80px 20px;
}
支援 JPEG、PNG、WEBP、GIF、TIFF、AVIF、SVG。Framer 會自動轉換為高效的 AVIF 格式,解析度設定保持 Auto 即可。
焦點模式 (Focal Point):拖曳焦點控制原點至圖片最重要的部分(如人臉),響應式縮放時確保主體不被裁切。
▸ 按 T 啟用文字工具。點擊
▸ 自動適應內容的文字方塊(適合標題);點擊並拖曳
▸ 固定寬度的文字方塊(適合段落)。
快速標籤:雙擊任何空白框架,會自動在裡面新增一個置中的文字方塊,適合快速標示按鈕。
按 I 鍵開啟插入面板,游標自動聚焦搜尋列,直接輸入關鍵字(如 YouTube)即可找到組件。
| 類別 | 內容 |
| Basics | 現成完整頁面排版(含桌面/平板/手機三斷點)、區塊、導覽列 |
| CMS | Collections 與 Fields 組件 |
| Creative | Fit Text、旋轉文字、倒數計時器等特殊效果 |
| Media | 圖片、影片、YouTube/Vimeo 嵌入、Lottie 動畫、Spotify |
| Forms | 原生表單(無需寫程式碼)、MailChimp 等第三方整合 |
| Icons | 完整圖示庫(如 Phosphor),可在屬性面板切換同系列圖示 |
| Interactive | 語系選擇器、全站搜尋、Cookie 橫幅、跑馬燈、輪播圖 |
| Social | Instagram/Facebook 嵌入、Google Maps |
| Utility | 自訂 HTML 嵌入、複製按鈕、檔案下載按鈕 |
在 Figma 安裝「Figma to HTML with Framer」插件,選取物件後執行插件複製至剪貼簿,在 Framer 貼上 ⌘ V 即可。
貼上前,建議先將 Framer 的斷點框架設為垂直堆疊 + Fit content 高度,貼上的區塊就會由上往下自動排列。
字體注意:Figma 本機自訂字體在發布後其他訪客可能無法顯示,建議替換為 Google Fonts。
安裝 Chrome 擴充功能「HTML to Framer」,先點擊執行,再移動游標至網頁元素抓取。
複製寬度取決於抓取當下的瀏覽器視窗寬度,建議先縮小視窗再複製。
⚠️ 此工具設計用於遷移自己的網站,請負責任地使用。可在 Framer 設定中 Opt out 防止自己的網站被複製。
選取元素後按 L 鍵,或點擊屬性面板頂部的 Link (+) 新增。針對段落文字的局部連結,請使用面板新增,不要用 L 鍵(會覆蓋字元)。
可連結外部網址(貼上完整 https:// 網址)或內部頁面(搜尋頁面名稱,加 / 可過濾子頁面)。
選取目標框架,在屬性面板最底部加入 Scroll section 並命名,設定 Y 軸偏移量補償固定導覽列高度。
連結時選擇 Smooth scroll 可讓畫面流暢滑動至目標。
⚠️ 嵌套衝突:Framer 不允許「帶連結的子層」放在「帶連結的父層」中,發生時系統會警告要求選擇保留哪一層的連結。
填色類型:單色、線性漸層、放射漸層、圓錐漸層、影像填色。填色渲染在內容後方,邊框在內容前方。
| 不透明度 (Opacity = 0) | 可見度 (Visible = No) |
| 視覺上 | 隱形 | 隱形 |
| 佔據空間 | ✅ 仍佔位 | ❌ 從佈局流移除 |
| 手足圖層 | 不受影響 | 自動遞補位置 |
覆疊層本身也是組件時,可在內部圖層再次觸發其他相對覆疊層,輕鬆建立多層級的 子選單 (Submenus)。
所有新建立的覆疊層預設開啟「碰撞偵測 (Collision: Auto)」,現有覆疊層也能手動開啟。開啟後 Framer 會智能計算並重新定位選單方向,確保不被裁切。
過去當導覽列項目太靠近視區右側邊緣時,展開的選單容易超出畫面被截斷,此功能解決了這個問題。
可自訂選單與瀏覽器邊緣碰撞時的間距,確保選單被迫改變位置時不會死板地緊貼視窗邊緣,維持良好的視覺呼吸空間。
使用 Stack 水平排列導覽列文字連結,加入箭頭 (Carrot) 圖示作為下拉選單觸發器。
將觸發器轉為組件,建立「預設 (Default)」與「展開 (Open)」兩種變體(展開時降低透明度並翻轉箭頭)。
從 Insert 面板的 Menus 類別拖曳預設選單到觸發器組件上,快速建立相對覆疊層。
在覆疊層設定中指定選單打開時,觸發器自動切換至展開變體。
為選單選項設定連結樣式 (Link Styles),自動獲得懸停 (Hover) 狀態視覺回饋。
將整個導覽列轉為組件,建立 390px 寬的「手機 (Phone)」變體,將 Stack 方向改為垂直排列。
將漢堡選單圖示設為可見,頂部 Stack 改為 Space between 讓 Logo 與圖示分居兩側。
手機版下拉選單需轉為組件並建立手機專用變體(移除圓角、邊框,增加點擊範圍與分隔線),讓連結以行內列表方式展開。
收合狀態:連結列表透明度 0、高度固定 64px、溢出設為 Hidden。
展開狀態:最大最小高度設為 100VH,溢出設為 Scroll,並加上 Overscroll: Contain 屬性,避免連帶滾動底層網頁內容。
Insert 面板新增「Menus」類別,包含多款預設下拉選單。將選單直接拖曳到文字圖層上,系統瞬間將其添加為相對覆疊層 (Relative Overlay)。
進入覆疊層專屬編輯模式後,內部所有項目可直接客製化。
可快速調整對齊 (Alignment)、定位 (Positioning)、觸發與解除方式。
隨時從 Insert 面板拖曳新選單來「替換 (Swap)」現有覆疊層,並自訂縮放進入等出現特效。
覆疊層完美支援組件架構,可設定觸發器開啟時自動切換到「展開變體」,實現箭頭翻轉或文字變色等轉場動畫。
動態安全區域 (Dynamic safe area):Framer 即時計算游標移動的安全範圍,即使觸發器與下拉選單之間有間距,游標移動時選單也不會意外消失。
Insert 面板的完整導覽列區塊拖曳到桌面版斷點,會自動適應其他斷點(手機版自動轉為手機專用覆疊層與組件連結)。
向下滾動時,固定導覽列自動滑出視區隱藏,讓出閱讀空間;向上滾動時,無論身處頁面哪個位置,導覽列立刻滑入出現。
在新增滾動動畫 (Scroll Animation) 後,將觸發器從「圖層進入視區 (Layer in view)」改為「On scroll」。
動畫不再取決於滾動的具體位置,而是依據使用者的「滾動方向(向下或向上)」來執行對應動畫。
Replay 設定為 No 則動畫只觸發一次。要讓導覽列能無限次來回隱藏與顯示,必須開啟 Replay。
將透明度設為 100%,Y 軸位移設定為負的導覽列高度(例如 -64px),讓導覽列精準往上滑出畫面。
自訂彈簧 (Spring) 轉場數值讓進出效果更自然流暢。
建立「點擊時淡入」全螢幕選單,變體切換轉場設為 Instant,溢出設為 Visible。
新功能①:組件內圖層高度支援視區單位 (VH),背景設為 100VH 確保完美覆蓋全螢幕。
新功能②:可為組件內任何單一圖層獨立加入專屬轉場屬性。
在預設手機變體中將背景與連結堆疊透明度設為 0,並將溢出圖層的指標事件 (Pointer events) 設為 None,再為這些圖層加上 Spring 轉場,實現變體瞬間切換但內部元素平滑淡入的進階效果。
新功能③:連結樣式 (Link Styles) 支援專屬轉場控制,可為懸停顏色變化加入平滑轉場動畫。
進場 (Stagger In):在展開變體中,由上到下依序為每個連結圖層遞增延遲時間(0.1s、0.15s、0.2s...),創造瀑布般的連續浮現效果。
退場 (Stagger Out):在收合變體中,由下往上遞增延遲。背景層退場延遲設較長(如 0.5s),確保等所有連結淡出後才消失。
當導覽列連結過多超出手機畫面時,適合轉換為水平側向滾動導覽列。
在選單左右兩端放置漸層圖層覆蓋連結,提供明確視覺暗示讓使用者知道這個區域可以滾動。
選取包含所有連結文字的 Stack(堆疊層),前往屬性面板的 Styles 選單。
新增「Overflow X」屬性並設為「滾動 (Scroll)」,即可解鎖水平滾動模式。
新增「滾動條 (Scroll bars)」屬性,設為「隱藏 (Hide)」讓選單視覺保持乾淨俐落。
Framer 現在支援在 Min height 與 Max height 屬性中使用視區單位 (VH),且在組件內部也適用,解鎖全螢幕展開式導覽列設計。
將導覽列轉為組件,建立「展開 (Open)」與「收合 (Closed)」兩個變體,設定點擊時在兩者間切換。
選取連結的堆疊層,新增「Min height」屬性,類型設為 Viewport,數值給予 100VH。
將父層堆疊與連結堆疊的高度都改為「自動 (Auto)」,導覽列就能從 64px 平滑展開佔滿整個視區。
確保導覽列初始變體設為「收合 (Closed)」,定位改為固定 (Fixed),組件高度設為「自動 (Auto)」。
微調彈簧轉場(Stiffness 300、Damping 50)讓速度更自然,並可為展開背景加上 60% Alpha 透明度,讓選單透出底下網頁內容。
新增「手機 (Phone)」變體,寬度 390px,高度 Fit content,排列方向改為垂直。
將漢堡選單圖示設為可見,頂部 Stack 改為 Fill 寬度 + Space between 對齊。
連結 Stack 設為 Fill 寬度,垂直排列靠上對齊,底部加 Padding 避免被 Mobile Safari 裁切。
新增第三個「手機展開 (Phone open)」變體,漢堡圖示切換為關閉(打叉)圖示。
在手機變體中將連結 Stack 透明度降為 0,高度固定 64px,作為收合狀態。
按 L 鍵為漢堡圖示連結到展開變體,關閉圖示連結回手機變體,完成展開與收合的互動循環。
在展開變體加入 Max height 屬性設為 100VH,確保不超過裝置視區高度。
溢出設為 Scroll,並加上 Overscroll: Contain 屬性,選單滾動時不連帶滾動底層網頁。
在手機版斷點中,將導覽列組件的狀態設定為「手機 (Phone)」變體即完成實裝。
在專案設定 (Project Settings) 的「一般 (General)」分頁,設定整個網站預設的標題、描述與主要語言,自動套用到所有頁面。
可設定 Favicon(顯示於瀏覽器分頁標籤)與社群圖片 (Social Image)(分享至 Twitter 等平台時顯示)。
開啟「減少動態效果 (Reduced Motion)」,讓系統有相關偏好的使用者自動停用轉場與動畫。
針對特定頁面可獨立設定標題、描述與社群圖片,覆蓋全域預設值。
可個別設定是否允許該頁面被 Google 等搜尋引擎索引 (Indexed)。
發布後使用 metatags.io 預覽網站在 Twitter、Facebook、LinkedIn、Slack 等平台的分享卡片樣貌。
如果平台尚未顯示最新 Meta 資訊,通常是快取 (Cache) 尚未更新,稍作等待即可。
雖然 Framer 無需寫程式就能架站,但支援加入自訂程式碼運行額外腳本,例如 Intercom 聊天客服或 Facebook Pixel 追蹤代碼。
▸ 前往「專案設定」
▸ 「一般 (General)」
▸ 最底部的「自訂程式碼 (Custom code)」。
可選擇將程式碼插入 <head> 開頭/結尾,或 <body> 開頭/結尾。發布後會在網站每個頁面執行。
先確認已移除全域設定中的腳本,前往特定頁面,將程式碼貼上到頁面專屬的「自訂程式碼」區塊並儲存。
重新發布後,腳本只會在設定好的特定頁面載入,不會出現在其他頁面。
當刪除頁面或搬移內容時(例如將 FAQ 合併到 Support 頁面),舊連結或 Google 索引上的殘留連結會失效。
重新導向可將訪客自動引導至正確的新頁面,維持搜尋引擎索引正確性。
前往「專案設定」,「重新導向 (Redirects)」分頁。
輸入舊網址路徑(如 /FAQ),指定目標新頁面(如 Support 頁面),點擊打勾圖示完成新增。
發布網站後,在瀏覽器輸入舊網址,若自動跳轉至新頁面代表重新導向成功。
▸ 前往「專案設定」
▸ 「一般 (General)」
▸ 「密碼保護 (Password protection)」。
Framer 預設自動產生一組密碼,可隨時點擊 Edit 更改為自訂密碼。
即時生效:設定或更改密碼後,不需重新發布網站,密碼保護立刻生效。
瀏覽器記憶:訪客輸入正確密碼後,瀏覽器會記住;重新整理時無需再次輸入。
注意:若重新發布網站,系統機制會要求所有訪客再次輸入密碼。
每個方案都直接內建數據分析工具,無須安裝第三方外掛。
原生功能不會被廣告阻擋工具攔截,數據更準確。透過匿名化使用者數據,完全符合 GDPR,不需 Cookie 同意橫幅。
在專案設定的 Analytics 面板查看「不重複訪客 (Unique visitors)」與「總瀏覽量 (Page views)」圖表,可查看每日或每小時細部數據。
支援即時訪客活動、跳出率 (Bounce rate)、平均工作階段時間等進階指標。
提供熱門來源 (Top sources)、熱門頁面 (Top pages)、國家/地區、裝置類型分佈。
點擊特定來源、頁面、國家或裝置可過濾數據,且這些條件可以疊加使用(例如同時篩選「桌機」且來自「Google」)。
每次點擊「發布 (Publish)」時,系統自動儲存一個新版本。
在「專案設定」,「預覽與版本 (Staging and Versions)」分頁可查看所有發布紀錄,點擊歷史版本可預覽當時樣貌。
要回復 (Roll back) 到舊版本,必須先啟用「預覽環境 (Staging)」功能。
啟用後,發布時新版本不會自動覆蓋自訂網域 (Live site),需手動點擊「部署版本 (Deploy version)」才會正式上線。
版本旁若有警告圖示,代表未能成功最佳化,可能影響載入速度與 SEO。
點擊警告下載錯誤檔案,查看具體錯誤上下文。常見錯誤:巢狀連結 (Nested links),即帶連結的按鈕框架內又包了另一個帶連結的組件(HTML 不允許此結構)。
發布時 Framer 自動產生免費子網域。可自訂前綴,後綴可選 .framer.website、.photos、.media、.wiki、.ai。
前往「專案設定」,「網域 (Domains)」分頁,選擇「Connect a domain you own」,輸入購買的網域後確認。
自動連接 (Autoconnect):支援的供應商(如 Google Domains)會出現藍色按鈕,點擊授權後自動完成所有 DNS 設定。
手動設定:不支援自動連接的供應商,需將 Framer 提供的 DNS 資訊手動填入後台。
設定完成後回到 Framer 點擊「重新整理 (Refresh)」確認狀態。DNS 更新最多 48 小時生效,通常更快。
將網站內容集中在一處,只需修改一次,系統自動同步到所有相關位置,確保內容完美一致。
就像網站專用的「數位檔案櫃」,整齊儲存文字、圖片、連結等內容。網頁自動提取對應內容,訪客只看到最終設計好的畫面。
集合 (Collections):如同資料夾,儲存與整理內容。每個集合包含一系列「項目 (Items)」,例如多篇部落格文章或多個產品。
欄位 (Fields):定義每個項目包含的內容類型(如標題、圖片或連結),確保資料結構化有序。
頁面 (Pages):系統根據集合項目自動生成專屬獨立頁面,例如單篇部落格文章頁面。
集合列表 (Collection Lists):在網站畫面上展示集合與項目(如部落格預覽列表)。新增 CMS 內容時,列表自動同步更新。
點擊 Framer 頂部選單列的「CMS」開啟側邊欄,點擊 Collections 旁的 + 建立新集合。
建議使用清晰具描述性的名稱(如:部落格文章、團隊成員、產品)。
點擊「編輯欄位 (Edit Fields)」新增或自訂欄位。
預設提供 Plain text、Formatted text,以及自動生成的 Slug 欄位(用於生成專屬網址)。
可新增圖片、連結、切換開關 (Toggles)、顏色、數字、日期等多種格式。
開啟 Required 選項,強制每個項目在儲存前該欄位必須填寫,確保資料完整性。
設定好欄位後,點擊「新增項目 (New Item)」填入對應內容後儲存。
對項目按右鍵可選擇「複製 (Duplicate)」快速建立新內容。
可手動拖曳改變項目順序,或點擊欄位標籤(如日期、標題)進行自動排序。
單一佈局與動態生成:詳細頁面將一個可重複使用的佈局與 CMS 集合結合,系統自動為每個項目生成專屬頁面。
Framer 為每個項目指派一個 Slug,成為網址的一部分,讓系統能動態路由至正確內容。
在 Pages 面板點擊新增,選擇「New CMS page」,指定目標集合後選擇建立「Detail page」。
變數 (Variable) 就像智慧佔位符,在屬性面板點擊屬性旁的 + 選擇 Set variable,將畫布元素與 CMS 內容連結。
在詳細頁面的任何設計修改(字體、間距、按鈕)都會自動套用到該集合所有項目頁面。
條件可見度:可根據 CMS 內容是否為空來顯示/隱藏元素。例如「連結」欄位為空時,將按鈕可見度設定變數為「已設定 (Is set)」,按鈕只在有連結資料時才顯示。
有別於生成獨立頁面的詳細頁面,集合列表能在網站任何頁面、任何佈局中重複顯示 CMS 項目(如首頁的最新文章區塊)。
建立 CMS 索引頁時,系統預設在頁面上加入集合列表並自動拉取所有項目。
將自己設計好的卡片直接拖曳到集合列表中,自動為每個項目重複生成,再透過變數將卡片內容綁定到 CMS 欄位。
支援插入自訂組件(如分類標籤),在組件內將屬性設為變數後,拖曳到列表即可綁定動態資料。
Filters:只顯示精選項目。Limit to:設定最多顯示幾篇。Start Offset:略過前面的特定項目。
若要讓卡片內特定元素有獨立連結,需先移除父層預設連結,再為該元素設定連結至對應項目的 Slug 變數。
動畫不只是讓元素移動,更重要的是讓介面「合理化」。它引導視覺焦點、提供操作回饋,帶來清晰指引而非視覺雜亂。
最好的動態效果讓人感覺不著痕跡,卻能展現元素間的關聯性、提示哪些部分可點擊,並賦予使用者空間感。
應用傳統動畫原則(緩動 Easing、預期動作 Anticipation、過衝 Overshoot)讓網頁動畫更自然具響應性。
動態效果能展現網站個性:快速且專業 (Snappy and serious)、彈性且俏皮 (Springy and playful)、緩慢且優雅 (Slow and elegant)。
推薦延伸學習:迪士尼的 12 項動畫法則、UX 動態設計的 12 項法則。
按鈕與卡片的 Hover / Press 狀態效果。
滾動動畫 (Scroll animations)、視差效果 (Parallax)、微互動 (Micro interactions)、頁面轉場 (Page effects)。
選取圖層後在特效 (Effects) 區塊新增 Hover,修改時畫布元素會直接反映預覽。
可調整縮放比例(如放大至 1.3 倍)、旋轉角度(2D 或 3D)、透明度與位移。
轉場設定:使用物理基礎的「彈簧 (Spring)」效果,調整剛度 (Stiffness)、阻尼 (Damping)、質量 (Mass) 創造自然彈跳感。
新增 Press 後預設行為是「縮小」(如縮小至 0.9 倍),模擬將實體按鈕向內推的視覺感受。
可疊加其他屬性(如按下時旋轉 90 度),設定專屬彈簧轉場讓點擊回饋更具張力。
優秀的互動設計賦予「意義」:細微的視覺提示幫助訪客更輕鬆導覽網站,讓操作更直覺毫不費力。
Hover 效果主要適用於電腦端(具備游標的設備);Press 效果同時適用於電腦與行動裝置。
Linear(線性):等速移動,視覺感受較機械化,適合跑馬燈或無限旋轉的動畫。
Ease In Out:開頭加速、結尾減速,最適合起點與終點都在視區內的元素。
Ease In:開頭加速,結尾瞬間停止。適合從畫面上開始、跑到畫面外結束的元素。
Ease Out:瞬間全速、結尾減速。適合從畫面外進場並停留在畫面上的元素。
Time(時間基礎):指定動畫的總持續時間,調整 Bounce 來改變張力。
Physics(物理基礎):調整 Stiffness(剛度)、Damping(阻尼)、Mass(質量),總時間自動計算。阻尼越低晃動越久,質量越大啟動越慢。
拖曳圖表上的控制點 (Bezier handles) 完全自訂動畫的加減速節奏。
控制點顯示為精準座標數值,可複製貼上到其他圖層確保全站動態效果一致。
可加入初始「延遲 (Delay)」讓轉場不立即發生。
不需訪客點擊、懸停或滾動觸發,適合脈衝指示器、移動背景或吸引注意力的圖示。
鏡像 (Mirror):從頭到尾播放後,反向從尾到頭來回移動(乒乓球效果)。
透過正負數值讓元素沿 X/Y 軸移動(負值向左/上,正值向右/下)。
⚠️ 循環效果預設帶有 360 度旋轉動畫,若只需要位移,記得將旋轉 (Rotate) 數值手動歸零。
預設的「線性 (Linear)」轉場顯得生硬,建議改用「緩入緩出 (Ease in and out)」或「彈簧 (Spring)」讓移動更具彈性與慣性。
畫面外暫停 (Pause off screen):預設元素不在視區時自動暫停節省資源。若有多個需同步的循環動畫,關閉此功能讓它們持續在背景播放確保同步。
允許訪客直接抓取並物理性地移動元素,增添實體觸感與趣味互動。
自由模式 (Free form):元素可被拖曳到任何地方(甚至超出父層邊界)。
回彈 (Snap back):開啟時放開滑鼠後元素自動彈回原位;關閉則停留在放開處。
關閉 Snap back 時出現 Momentum 選項,開啟後拖曳時帶有速度放開,元素會保有物理慣性繼續向前滑行。
將 Free form 設為 No,可指定頁面上特定區塊 (Scroll Section) 作為拖曳邊界,元素無法拖出該範圍。
有邊界限制且開啟 Momentum 時,元素撞到邊界會產生自然反彈效果。
元素被拖曳到邊界角落時,可能因父層框架圓角而被裁切。解法:選取父層框架,將 Overflow 由 Hidden 改為 Visible。
適用於「首屏 (Above the fold)」的元素,網頁載入時自動觸發,精心編排元素進入畫面的節奏。
在特效面板新增 Appear 後,觸發器 (Trigger) 必須保持設定為「On Appear」。
提供淡入 (Fade in)、縮放進入 (Scale in)、翻轉 (Flip) 等多種預設效果。
「進場狀態 (Enter Effect)」定義元素進場前的初始狀態(例如透明度 0%、縮放 50%),動畫播放時從這個狀態過渡還原到正常外觀。
父層與子層可分別套用獨立的出現效果。例如父框架從較小比例放大,內部子圖示從較大比例(1.6 倍)縮小回原尺寸,兩者結合創造圖示躍出畫面的 3D 層次感。
Layer in view:可自訂當圖層的「頂部、中心或底部」到達視區底部時觸發動畫。
區塊進入視區 (Section in view):選取父層框架新增「Scroll Section」命名,讓多個元素基於同一基準點完美同步觸發,解決位置不同造成的時間差問題。
On scroll:針對滾動方向本身觸發(往下或往上),與滾動距離無關。必須開啟 Replay 才能來回觸發。
開啟 Replay 可分別設定進場 (Enter) 與退場 (Exit) 狀態;關閉則動畫只觸發一次(避免上下滾動時動畫不斷重複造成視覺干擾)。
用 On scroll 設定往下滾動時導覽列滑出隱藏,往上滾動時滑入顯示。
建議轉場設定使用「緩動 (Ease)」而非 Spring,避免導覽列出現不自然的回彈。
有別於觸發後自動播放完畢的滾動動畫,Scroll Transform 將滾動進度直接轉化為動畫進度,讓元素隨滾動平滑改變位置、縮放、旋轉與透明度。
新增後,可自由設定動畫的 From(起點)與 To(終點)。
On scroll:基於整個頁面從頂到底的總進度,過程非常緩慢,不適合聚焦單一特定區塊。
Layer in view:當圖層「頂端」進入視區時開始,「底端」進入時結束,變形跨度取決於圖層高度。
Section in view:將共同父層設為 Scroll Section,讓多個元素綁定同一基準點,完美同步漸進變形。
滾動轉換沒有常規持續時間或緩動曲線可設,但可加入 Spring 效果。
當訪客快速滾動突然停止時,彈簧設定(如阻尼 Damping)能為元素保留微微慣性晃動,讓滾動互動更自然具有手感。
距離較近的物體看起來移動較快,距離較遠的較慢。利用這個現象在平面網頁上創造逼真的 3D 空間深度感。
選取元素後在特效區塊新增 Scroll Speed,只需調整一個 Speed 數值。
預設值 100% 代表與其他元素相同的正常滾動速度。
速度低於 100%(如 40%~80%):元素比頁面滾動更慢,感覺位於遠處,形成背景層次。
創造前景(看起來較近):速度高於 100%(如 120%~140%),元素比其他內容滾動更快,感覺位於畫面最前方。
組合多層次(例如背景文字 40%、主 UI 100%、漂浮物件 120%、140%)創造豐富的立體感與沉浸體驗。
將組件變體與滾動位置綁定,訪客往下滾動時觸發組件狀態間的平滑動畫,創造具沉浸感與故事性的體驗。
將組件(例如展示用的手機)的定位改為「黏性 (Sticky)」,讓它在旁邊文字滾動時保持原地,直到父層底部碰到它為止。
組件本身必須先建立好多個不同變體,Scroll Variant 特效才會啟用(沒有任何變體則選項為停用)。
用不透明度 (Opacity) 0% 而非關閉可見度來建立過渡,因為不透明度帶有數值才能產生平滑漸變動畫。
快捷鍵:鍵盤「0」快速將不透明度設為 0%,再按一次恢復為 100%。
新增 Scroll Variant 特效,將觸發條件設為「Section in view」,對各文字方塊新增「Scroll Section」命名,再指定哪個區塊負責顯示哪個對應變體。
視區觸發點 (Viewport) 建議設為「中心 (Center)」,當文字區塊到達畫面垂直正中央時同步切換,視覺節奏最理想。
確認開啟 Replay 功能,上下滾動時動畫才能正確來回播放。
從起始變體開始,設定觸發圖層(如點擊圖示),觸發時過渡到另一個變體,Framer 自動為兩個變體的視覺差異產生平滑動畫。
其他變體都會繼承「主要變體」的設定。只要在主要變體上設定好互動連結,其他變體自動繼承,省去逐一設定的麻煩。
選取圖層後按 L 鍵,游標變成連線工具,直接點選要過渡的目標變體。
可選擇 Click、Mouse enter、Mouse leave 等觸發方式。
在屬性面板調整 Transition(注意:這裡設定的是「進入」該選定變體時的動畫速度)。
Cycle:自動按順序切換到下一個變體,到達最後再循環回第一個,適合輪播或單鍵反覆切換。
Appear:將互動加在「變體本身」(非內部圖層),觸發條件選 Appear,設定時間間隔讓變體自動過渡,輕鬆完成輪播圖效果。
在組件內部設定動畫,確保所有實例 (Instances) 都擁有一致的動態細節。即使網站有數百個相同組件實例,只需設定一次大幅提升效率。
雙擊進入組件編輯模式,選取變體的父層框架,在特效區新增 Appear 效果。
可自訂初始縮放比例(如 1.4 倍)、轉場設為「緩出 (Ease out)」、延長持續時間(如 1 秒),讓進場更平滑具戲劇張力。
在組件內按 ⌘ P(Mac)/ Ctrl P(PC)直接預覽動畫設定結果。
設定完成後,所有頁面的組件實例都自動繼承播放這個進場動畫,即使套用了不同的圖示或顏色變數,也不需逐頁手動設定。
當「子組件的互動需要觸發父組件的變化」時,事件就是子組件向上層大喊「我被點擊了!」的傳遞機制。
在子組件建立事件:進入子組件編輯模式,選取觸發圖層,新增互動選擇「建立新事件 (New event)」並命名(如 left、middle、right)。
在父組件接收事件:回到父組件選取子組件實例,屬性面板會出現剛建立的事件屬性,設定事件觸發時父組件要過渡到哪個對應變體。
表單組件內的關閉按鈕加上「close」事件,回到覆疊層設定將 close 事件指定為觸發「關閉覆疊層 (Close overlay)」即可。
影片 (Video):播放、暫停或拖曳進度條時可觸發事件。
表單 (Form):成功送出或發生錯誤時可觸發不同動畫回饋。
透過加入平滑轉場動畫,讓網站體驗更具連貫性,感覺更像原生應用程式 (App)。
轉場包含兩個部分:當前頁面的「退場 (Exit)」方式,以及下一頁的「進場 (Enter)」方式。
選取頁面的桌面版斷點,在特效區新增「頁面轉場 (Page Effect)」。
⚠️ 重要:「套用到所有頁面 (All Pages)」選項只在首頁出現,必須在編輯首頁時才能一次性為全站設定。
提供淡入淡出 (Crossfade)、滑動 (Slides)、推擠 (Pushes)、遮罩擦除 (Wipes) 等預設,可細調透明度、縮放、位移、緩動與持續時間。
全域設為「向左推擠」時,點擊返回上一頁也會向左推,邏輯不自然。
解法:在特定頁面(如分頁 A)新增轉場效果,將目標 (Target) 指定為「首頁」,預設改為「向右推擠 (Push right)」,讓前進與返回方向完美對應。
套用頁面轉場時,整個頁面(包含導覽列)都會被推走再滑入,這不僅多餘也會中斷導覽列組件原有的動畫狀態。
解法:透過 佈局模板 (Layout Templates) 讓共用元素在頁面跳轉時固定不動。
選取共用元素(如導覽列),按右鍵選「建立佈局模板 (Create layout template)」。
套用模板後,記得回到各個獨立頁面刪除原本手動建立的導覽列與頁尾,避免與模板繼承的元素重複。
雙擊進入佈局模板編輯模式,選取導覽列,在 Styles 區新增「頁面轉場 (Page effect)」屬性,設定為「排除 (Exclude)」。
完成後導覽列完全獨立於頁面轉場之外,切換頁面時穩穩停留在原地保持連貫性。
導覽列有「當前頁面高亮」變體時,統一套用模板會導致所有頁面顯示同一個高亮狀態。
在模板中將導覽列組件的「Variant」屬性設定為變數(命名如 Nav),回到個別頁面即可獨立切換到對應的高亮變體。
選取桌面版斷點後,在屬性面板底部找到「游標 (Cursor)」區塊。
Web Cursor:套用作業系統預設游標樣式,具情境感,能提供「可點擊」或「可拖曳」等視覺提示。
選擇 Custom Cursor 並載入設計好的游標組件,設為「取代 (Replace)」全面替換系統預設游標。
支援互動狀態:組件內已設定的 Press 等變體互動,游標點擊時也會自動播放相應動態。
⚠️ 取代模式避免加入轉場延遲,以免游標操作卡頓不跟手。
設為 Follow 讓自訂組件跟在預設游標後方(例如搭配 Difference 混合模式創造 X 光透視效果)。
可調整對齊基準與 X/Y 軸位移。透過彈簧轉場為跟隨動作加入平滑慣性延遲感;移除轉場則讓自訂組件與滑鼠同步移動。
選取特定框架新增 Cursor 屬性,選擇「設定變體 (Set Variant)」,游標移入該區塊時自動變形為指定游標變體(如展開為說明文字)。
隱藏預設游標技巧:在游標組件建立一個透明度 0% 的預設變體,套用於全域斷點後平時只看到正常游標,只有移入特定圖層時動態提示才會浮現。
必須先選取文字圖層,屬性面板才會顯示 Text Effect 選項。
將「出現 (Appear)」與「滾動 (Scroll)」的觸發條件整合在同一面板。
內建 Blur、Flip、Shake 等預設效果,可完全自訂進場前的初始狀態(如放大 1.2 倍、10px 模糊並向下位移 10px)。
可決定動畫拆解層級:字元 (Character)、單字 (Word)、行 (Line) 或整個元素 (Element)。
以「字元」或「單字」為單位時,Framer 在背景將文字切塊處理,某些字體的字距可能有微小差異,屬正常現象。
初始延遲 (Initial Delay):主面板的 Delay,控制整個文字區塊開始播放前的等待時間。
交錯延遲 (Stagger Delay):Transition 設定中的 Delay,控制各行/字/字元之間的交錯時間。
以「字元」為單位時字數多,建議將交錯時間縮短至 0.02 秒並加一點 Bounce 效果確保流暢度。
文字的首要功能是閱讀,適度的動態就能達到很好的傳達效果,過度動畫反而干擾閱讀體驗。
Stroke 特效讓圖示、標誌或插畫產生平滑流暢的動態繪製感。
⚠️ 此特效只有在編輯向量集合 (Vector Set) 內部圖層時才會顯示。
選取向量圖層群組,右鍵選「建立向量集合 (Create Vector Set)」,雙擊進入專屬編輯畫布後為各別路徑加上 Stroke 特效。
長度 (Length):決定實線的佔比。間距 (Gap):決定推動實線顯示的留白比例。
位移反轉 (Offset):預設動畫從空白逐漸畫滿。將 Offset 設為 100%,動畫反轉,變成從完整畫滿逐漸退場擦除。
開啟 Loop 並設為 Continuous 讓路徑像脈動一樣無限流動。
連續循環動畫建議轉場改為「線性 (Linear)」確保等速不出現加減速頓挫感。
透明度疊加:複製兩組圖示,底層設 20% 透明度作靜態底圖,頂層 100% 透明度套用 Stroke 特效,創造「順著底框填滿」的精緻效果。
色彩交錯進場:疊加多層不同顏色路徑,在 Transition 分別設定遞增延遲(0.2s、0.4s),創造多條彩色線條接連畫出的層次感。
修正路徑方向:若某條路徑畫出方向不一致,右鍵選「反轉路徑方向 (Reverse path direction)」瞬間修正。