Framer 教學筆記
整理自 Framer 官方教學影片,方便快速查找功能與操作重點。點選左側選單進入課程。
⚙️
Navigations
7 堂 · 發布設定
🧱
Fundamentals
30 堂 · 基礎核心
介面主要分為四區:頂部 Toolbar、左側 Left Sidebar、右側 Properties Panel、中央 Canvas。
左側包含 Framer 主選單、插入面板(I)、佈局工具、文字工具。
按 ⌘ K 呼叫快速動作選單 (Quick Actions),直接輸入關鍵字執行指令,也是學習快捷鍵的好地方。
右側有協作者頭像、語系設定、專案設定、預覽(⌘ P)、邀請、發布按鈕。
Layers:顯示當前頁面所有元素與階層關係,頂部附頁面切換器。
Assets:集中管理組件 (Components)、樣式 (Styles)與程式碼檔案。
此面板是動態的,根據目前選取的元素顯示對應屬性。選取斷點框架時顯示斷點設定;選取文字時顯示字體、字重、間距等設定。
網頁內容建立在「斷點 (Breakpoints)」這種頂層框架中。
底部工具包含平移工具(或按住 Space)、評論工具、日/夜間模式切換。
縮放快捷:Zoom to Fit、Zoom to Selection、縮放至 100%。
頂層是工作區 (Workspace),包含所有專案 (Projects),可用資料夾整理。每個專案 = 一個獨立網站,內含多個頁面。
首頁 (Home) 是訪客進入主網域時預設載入的頁面,可在頁面設定修改標題等 Meta 資料。
新增頁面時,名稱會成為網址路徑(例如 /shop)。更改頁面名稱會讓舊連結失效,需用重新導向修復。
可建立資料夾來群組管理頁面,資料夾名稱同樣會加上斜線成為網址路徑的一部分。
「頁面」本身也可作為包含子頁面的資料夾;「資料夾」也可隨時從選單轉換成實體頁面。
斷點框架 (Breakpoints):網站的實際發布內容必須放置在斷點內,放在外面的元素不會顯示。每個頁面預設有一個 1200px 桌面版斷點,點 + 可新增平板或手機斷點。
框架 (Frame) 是排版最基礎的建構區塊,本質上是一個可包含其他圖層的矩形。Framer 沒有單獨的矩形工具,框架就能達成所有矩形需求,也可建立堆疊、網格等。
Framer只需點擊一次即可選取任意深度的圖層,不需像 Figma 雙擊鑽取。
按住 Shift 點選多選;拖曳選取框時按住 Option,只選取完全包含在範圍內的圖層。
按住 Option + ⌘(Mac)或 Alt + Ctrl(PC)在畫布任意處拖曳,可安全移動已選取的圖層而不誤觸其他元素。
方向鍵每次微調 1px,Shift + 方向鍵 每次微調 10px。
按住 Option 點擊展開箭頭,一次性展開或收合所有底下的圖層層級。
將圖層拖曳到另一個框架邊界範圍內,會自動被嵌套為子層。放開圖層時按住 Space,可防止被自動嵌套進父層。
框架內的圖層稱為「子層 (Child)」;包含該圖層的框架稱為「父層 (Parent)」;同一層級的圖層稱為「手足圖層 (Siblings)」。
框架可用來群組或包裝物件、建立自動堆疊 (Stack)或網格 (Grid)、製作彈性佈局,或單純當作矩形使用。
框架可以完全不可見(作為排版結構),也可以在屬性面板中添加邊框、填色、陰影等視覺效果。
按 F 啟用框架工具。Shift + 拖曳 繪製正方形;Option + 拖曳 從中心點向外展開;Space + 拖曳 繪製過程中移動位置。
選取多個圖層後按右鍵「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 屬性。
堆疊 (Stack) 是套用了佈局屬性的框架,能將子圖層自動排列成垂直欄或水平列。類似 Figma 的 Auto Layout 或 CSS 的 Flexbox。
堆疊 (Stack) 內的子圖層預設為相對定位,順著堆疊流排列,感知並尊重其他手足圖層所佔據的空間。
從工具列 Layout 選單選擇 Rows 或 Columns 直接在畫布拖曳繪製。按 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)分配空間:三個圖層都設 1fr 則各佔 1/3;其中一個改為 2fr,該圖層佔總份數的一半。
若有手足圖層設為固定尺寸,它先佔固定空間,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 |
建立方式:從屬性面板切換佈局為 Grid,或按 Shift + G 直接拖曳繪製。
網格包含三層結構:父層網格框架 → 隱形的網格單元格 (Cells) → 網格項目 (Grid Items)。
若網格整體高度設為「Fit Content」,列的高度就不能設為 Fill Container,系統會避免此衝突。
可設定每個網格項目跨越多少欄/列,甚至跨越「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列 */
}
固定定位 (Fixed):固定在螢幕同一位置,不隨頁面滾動移動。常見用途:固定頂部導覽列、右下角浮動按鈕。
設定條件:元素必須是斷點框架的直接子層才能使用固定定位。
固定定位的元素從堆疊流中脫離,漂浮在其他內容上方,可透過 Z-Index 調整重疊順序。
黏性定位 (Sticky):元素一開始隨內容捲動,碰到視區頂部時黏住,直到父層底部碰到它才被帶走。
設定條件:圖層必須是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%,讓元素比父層還大(例如 160% 的圓形背景裝飾)。
Min:不要小於此數值,撐起框架,防止縮得太小破壞閱讀性。
Max:不要大於此數值,限制框架,防止在大螢幕上被過度拉伸。
這兩個屬性預設不顯示,需要時手動點擊屬性面板的 + 號加入。
若一個尺寸是彈性的,其 Min 或 Max 值通常設為固定;反之,若尺寸是固定的,其 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:拖曳焦點控制原點至圖片最重要的部分(如人臉),響應式縮放時確保主體不被裁切。
大型影片建議透過 YouTube 或 Vimeo 托管,從插入面板的 Media 類別拖出對應元件並貼上網址。
按 T 啟用文字工具。點擊 → 建立自動適應內容的文字方塊(適合標題);點擊並拖曳 → 建立固定寬度的文字方塊(適合段落)。
雙擊任何空白框架,自動在裡面新增一個置中的文字方塊,適合快速標示按鈕。
按 I 鍵開啟插入面板 (Insert Panel),游標自動聚焦搜尋列,直接輸入關鍵字(如 YouTube)找到組件。
Basics:現成完整頁面排版(含桌面/平板/手機三斷點)。
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 鍵(會覆蓋字元)。
加入連結時選擇「Link Style」,可設定預設 (Default)、懸停 (Hover)、當前頁面 (Current)三種狀態的顏色與裝飾,加入 Transition 效果讓狀態切換更滑順。
選取目標框架,在屬性面板最底部加入 Scroll Section 並命名,設定 Offset Y 補償固定導覽列高度。
連結指向當前頁面後,從 Section 選單指定目標區塊,選擇 Smooth Scroll 讓畫面流暢滑動。
⚠️ Framer 不允許「帶連結的子層」放在「帶連結的父層」中,發生時系統會警告要求選擇保留哪一層。
填色類型:Solid(單色)、Gradient(線性/放射/圓錐漸層)、Image(影像填色)。
填色渲染在內容後方,邊框在內容前方,內容如同被夾在兩者之間。邊框一律向內對齊,不會超出框架整體尺寸。
Box Shadow:允許在同一框架上疊加多個陰影,提供 X/Y 軸偏移量、Blur 與 Spread 控制。Realistic Shadows:自動疊加多個陰影產生更逼真效果。
| Opacity = 0 | Visible = No |
|---|
| 視覺上 | 隱形 | 隱形 |
| 佔據空間 | ✅ 仍佔位 | ❌ 從佈局流移除 |
| 手足圖層 | 不受影響 | 自動遞補位置 |
Overflow 預設為 Hidden,會裁切超出邊界的陰影或子層內容。改為 Visible 可讓內容超出顯示;設為 Scroll 則將框架轉為可捲動容器。
點擊 Styles 旁的 + 號,可加入 Blending Modes、Filters、Masks 等進階視覺特效。
覆疊層本身也是組件時,可在內部圖層再次設定觸發其他相對覆疊層,建立多層級的子選單 (Submenus)。
所有新建立的覆疊層預設開啟 Collision: Auto,現有覆疊層也能手動開啟。Framer 會智能計算並重新定位選單方向,確保不被裁切。
過去當導覽列項目太靠近視區右側邊緣時,展開的選單容易超出畫面被截斷,此功能解決了這個問題。
可自訂選單與瀏覽器邊緣碰撞時的Padding,確保選單被迫改變位置時不會緊貼視窗邊緣,維持視覺呼吸空間。
使用 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 面板的完整導覽列區塊拖曳到桌面版斷點,會自動適應其他斷點(手機版自動轉為手機專用覆疊層與組件連結)。
向下滾動時,固定導覽列自動滑出視區隱藏,讓出閱讀空間;向上滾動時,無論身處頁面哪個位置,導覽列立刻滑入顯示。
新增滾動動畫後,將觸發器從「圖層進入視區」改為 On Scroll。
動畫的觸發不再取決於滾動距離,而是依據滾動方向(向下或向上)來執行對應動畫。
Replay 設為 No 則動畫只觸發一次。要讓導覽列能無限次來回隱藏與顯示,必須開啟 Replay。
將透明度設為 100%,Y 軸位移設定為負的導覽列高度(例如 -64px),讓導覽列精準往上滑出畫面。
建立「點擊時淡入」全螢幕選單,變體切換轉場設為 Instant,溢出設為 Visible。
新功能①:組件內圖層高度支援視區單位 (VH),背景設為 100VH 確保完美覆蓋全螢幕。
新功能②:可為組件內任何單一圖層獨立加入專屬轉場 (Transition)屬性。
在預設手機變體中將背景與連結堆疊透明度設為 0,並將溢出圖層的指標事件 (Pointer Events)設為 None,再為這些圖層加上 Spring 轉場,實現變體瞬間切換、但內部元素平滑淡入的進階效果。
新功能③:連結樣式 (Link Styles) 支援專屬轉場控制,可為懸停顏色變化加入平滑轉場動畫。
Stagger In(交錯進場):在展開變體中,由上到下為每個連結圖層遞增Delay(0.1s、0.15s、0.2s...),創造連續浮現效果。
Stagger Out(交錯退場):在收合變體中,由下往上遞增延遲。背景層的退場Delay設較長(如 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。
可微調 Spring 轉場(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)」變體即完成實裝。
在「專案設定」→「一般 (General)」分頁,設定整個網站預設的標題 (Title)、描述 (Description)與主要語言,自動套用到所有頁面。
可設定 Favicon(顯示於瀏覽器分頁標籤)與 Social Image(分享至 Twitter 等平台時顯示)。
開啟「減少動態效果 (Reduced Motion)」,讓系統有相關偏好的使用者自動停用轉場與動畫。
針對特定頁面可獨立設定標題、描述與社群圖片,覆蓋全域預設值。
可個別設定是否允許該頁面被 Google 等搜尋引擎索引 (Indexed)。
發布後使用 metatags.io 預覽網站在 Twitter、Facebook、LinkedIn、Slack 等平台的分享卡片樣貌。
如果平台尚未顯示最新 Meta 資訊,通常是快取 (Cache)尚未更新,稍作等待即可。
雖然 Framer 無需寫程式就能架站,但支援加入自訂程式碼 (Custom Code)運行額外腳本,例如 Intercom 聊天客服或 Facebook Pixel 追蹤代碼。
前往「專案設定」→「一般 (General)」→ 最底部的「Custom Code」區塊。
可選擇將程式碼插入 <head> 或 <body> 的開頭或結尾,發布後會在網站每個頁面執行。
先確認已移除全域設定中的腳本,再前往特定頁面,將程式碼貼上到頁面專屬的「Custom Code」區塊並儲存。
重新發布後,腳本只會在設定好的特定頁面載入,不會出現在其他頁面。
當刪除頁面或搬移內容時,過去分享出去的舊連結或 Google 索引上的殘留連結會失效。重新導向 (Redirects)可將訪客自動引導至正確的新頁面,維持搜尋引擎索引正確性。
前往「專案設定」→「Redirects」分頁,輸入舊網址路徑(如 /FAQ),指定目標新頁面,點擊打勾圖示完成新增。
發布網站後,在瀏覽器輸入舊網址,若自動跳轉至新頁面代表重新導向成功。
前往「專案設定」→「一般 (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」功能。
啟用後,發布時新版本不會自動覆蓋正式網域,需手動點擊「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 小時生效,通常更快。
Framer 的CMS(內容管理系統)能將網站內容集中在一處,只需修改一次,系統自動同步到所有相關位置。
就像網站專用的「數位檔案櫃」,整齊儲存文字、圖片、連結等內容,訪客只看到最終設計好的畫面。
集合 (Collections):如同資料夾,儲存與整理內容,每個集合包含一系列「項目 (Items)」。
欄位 (Fields):定義每個項目包含的內容類型(如標題、圖片、連結),確保資料結構化有序。
頁面 (Pages):系統根據集合項目自動生成獨立頁面,例如單篇部落格文章頁面。
集合列表 (Collection Lists):在網站任何頁面展示集合項目,新增 CMS 內容時自動同步更新。
點擊 Framer 頂部選單列的「CMS」開啟側邊欄,點擊 Collections 旁的 + 建立新集合。
建議使用清晰具描述性的名稱(如:部落格文章、團隊成員、產品)。
預設提供純文字 (Plain Text)、格式化文字 (Formatted Text),以及自動生成的 Slug 欄位(用於生成專屬網址)。
可新增圖片 (Images)、連結 (Links)、切換開關 (Toggles)、顏色、數字、日期等多種格式。
開啟 Required(必填),強制每個項目在儲存前該欄位必須填寫,確保資料完整性。
點擊「New Item」,填入對應欄位內容後儲存。
對項目按右鍵可選擇「Duplicate」快速建立新內容。
可手動拖曳改變項目順序,或點擊欄位標籤(如日期、標題)進行自動排序。
詳細頁面 (Detail Page):單一佈局與動態生成,系統自動為集合中每個項目生成專屬頁面。
Framer 為每個項目指派一個 Slug,成為網址的一部分,讓系統動態路由至正確內容。
在 Pages 面板點擊新增,選擇「New CMS Page」,指定目標集合後選擇建立「Detail Page」。
變數 (Variables) 就像「智慧佔位符」,在屬性面板點擊屬性旁的 + 選擇「Set Variable」將畫布元素與 CMS 內容連結。
在詳細頁面的任何設計修改(字體、間距、按鈕)都會自動套用到該集合所有項目頁面。
條件可見度 (Conditional Visibility):當 CMS 欄位為空時隱藏對應元素,例如「連結」欄位空白時自動隱藏按鈕,保持版面整潔。
有別於生成獨立頁面的詳細頁面,集合列表 (Collection List) 能在網站任何頁面、任何佈局中重複顯示 CMS 項目。
將自己設計好的卡片直接拖曳到集合列表中,自動為每個項目重複生成,再透過變數將卡片內容綁定到對應的 CMS 欄位。
過濾 (Filters):只顯示標記為精選的項目。
限制 (Limit To):設定最多顯示 N 篇。
起始偏移 (Start Offset):略過前面的特定項目,避免重複顯示。
若要讓卡片內特定元素(如標題)有獨立連結,需移除父層預設連結,再為該元素設定連結至對應項目的 Slug 變數。
動畫不只是讓元素移動,更重要的是讓介面「合理化」:引導視覺焦點、提供操作回饋,帶來清晰指引。
最好的動態效果讓人感覺不著痕跡,卻能展現元素間的關聯性、提示哪些部分可點擊。
應用傳統動畫原則(緩動 Easing、預期動作 Anticipation、過衝 Overshoot)讓網頁動畫更自然。
動態效果能展現網站個性:快速且專業 (Snappy)、彈性且俏皮 (Springy)、緩慢且優雅 (Slow)。
推薦延伸學習:迪士尼的 12 項動畫法則、UX 動態設計的 12 項法則。
本系列課程將涵蓋:按鈕與卡片的 Hover/Press 效果、滾動動畫 (Scroll Animations)、視差效果 (Parallax)、微互動 (Micro Interactions)、頁面轉場 (Page Effects)。
Hover 效果在游標移至元素上方時觸發,主要適用於電腦端。Press 效果在點擊或按下時觸發,同時適用電腦與行動裝置。
選取圖層後在 Effects 區塊新增 Hover,可調整縮放比例(如放大至 1.3 倍)、旋轉角度(2D 或 3D)、透明度與位移。
Spring 轉場:調整 Stiffness(剛度)、Damping(阻尼)、Mass(質量)創造自然彈跳感。
新增 Press 後預設行為是縮小(如 0.9 倍),模擬將實體按鈕向內推的視覺感受。
可疊加其他屬性(如旋轉 90 度),設定專屬 Spring 轉場讓點擊回饋更具張力。
優秀的互動設計賦予「意義」:細微的視覺提示幫助訪客更輕鬆導覽,讓操作更直覺毫不費力。
線性 (Linear):等速,視覺較機械化。適合跑馬燈或無限旋轉動畫。
緩入緩出 (Ease In Out):開頭加速,結尾減速。最適合起點與終點都在視區內的元素。
緩入 (Ease In):開頭加速,結尾瞬間停止。適合從畫面上跑到畫面外結束的元素。
緩出 (Ease Out):瞬間全速,結尾減速。適合從畫面外進場並停留在畫面上的元素。
時間基礎 (Time):指定總持續時間,調整「彈性 (Bounce)」改變張力。
物理基礎 (Physics):透過 Stiffness(剛度)、Damping(阻尼)、Mass(質量)決定節奏,總時間自動計算。阻尼越低晃動越久,質量越大啟動越慢。
拖曳圖表上的貝茲曲線控制點 (Bezier Handles)完全自訂動畫的加減速節奏。
控制點顯示為精準座標數值,可複製貼上到其他圖層確保全站動態效果一致。
Loop 效果不需訪客點擊、懸停或滾動觸發,適合脈衝指示器、移動背景或吸引注意力的圖示。
Loop(循環):從頭到尾播放後不斷重頭開始。Mirror(鏡像):從頭到尾後再反向從尾到頭,來回移動。
⚠️ Loop 效果預設帶有 360 度旋轉動畫,若只需位移,記得將 Rotate 數值手動歸零。
預設的「Linear」轉場顯得生硬,建議改用 Ease In Out 或 Spring 讓移動更具彈性與慣性。
Pause Off Screen:預設元素不在視區時自動暫停節省資源。若有多個需同步的循環動畫,關閉此功能讓它們持續在背景播放確保同步。
Drag 效果允許訪客直接抓取並物理性地移動元素,增添實體觸感與趣味互動。
Free Form:元素可被拖曳到任何地方(甚至超出父層邊界)。Snap Back:開啟時元素自動彈回原位;關閉則停留在放開處。
關閉 Snap Back 時出現 Momentum 選項,開啟後元素會保有物理慣性繼續滑行。
將 Free Form 設為 No,指定頁面上特定Scroll Section作為拖曳邊界,有邊界限制且開啟 Momentum 時,撞到邊界會產生自然反彈效果。
元素被拖曳到邊界角落時,可能因父層框架圓角而被裁切。解法:將 Overflow 由 Hidden 改為 Visible。
Appear 效果適用於「首屏 (Above the Fold)」的元素,網頁載入時自動觸發。觸發器必須保持設定為「On Appear」。
提供淡入 (Fade In)、縮放進入 (Scale In)、翻轉 (Flip)等多種預設效果。
Enter Effect:定義元素進場前的初始狀態(例如透明度 0%、縮放 50%),動畫播放時從這個狀態過渡還原到正常外觀。
父層與子層可分別套用獨立的出現效果,例如父框架從小比例放大,內部子圖示從大比例(1.6 倍)縮小回原尺寸,兩者結合創造圖示躍出畫面的 3D 層次感。
對於首屏以下的元素,等訪客滾動到特定位置時才觸發。三種觸發條件:Layer In View、Section In View、On Scroll。
Layer In View:可自訂當圖層的「頂部、中心或底部」到達視區底部時觸發。Replay:開啟時可設定進場與退場狀態;關閉則動畫只觸發一次。
Section In View:選取父層框架新增「Scroll Section」並命名,讓多個元素基於同一基準點完美同步觸發,解決位置不同造成的時間差問題。
On Scroll:針對「往下滾動」或「往上滾動」行為本身觸發,與滾動距離無關,必須開啟 Replay 才能來回觸發。
實用案例:往下滾動時導覽列滑出隱藏,往上滾動時立刻滑入顯示。轉場建議使用 Ease 而非 Spring,避免導覽列出現不自然的回彈。
Scroll Transform 有別於觸發後就播放完畢的滾動動畫,它將使用者的滾動進度直接轉化為動畫進度,讓元素隨滾動平滑改變位置、縮放、旋轉與透明度。
新增後可自由設定動畫的起點 (From)與終點 (To)。
On Scroll:基於整個頁面的總進度,過程非常緩慢,不適合聚焦單一特定區塊。
Layer In View:當圖層「頂端」進入視區時開始,「底端」進入時結束,變形跨度取決於圖層高度。
Section In View:將多個元素綁定同一基準點,完美同步漸進變形。
Scroll Transform 沒有常規的持續時間或緩動曲線,但可加入 Spring 效果。
當訪客快速滾動突然停止時,Spring 設定(如 Damping)能為元素保留微微慣性晃動,讓滾動互動更自然。
距離較近的物體看起來移動較快,距離較遠的較慢。利用這個現象在平面網頁上創造逼真的 3D 空間深度感。
選取元素後在 Effects 區塊新增 Scroll Speed,調整速度 (Speed)數值。預設 100% = 正常滾動速度。
低於 100%(如 40%~80%):元素比頁面滾動更慢,感覺位於遠景(背景)。
高於 100%(如 120%~140%):元素比其他內容滾動更快,感覺位於近景(前景)。
組合多層次(例如背景文字 40%、主 UI 100%、漂浮物件 120%~140%)創造豐富的立體感。
將組件變體與滾動位置綁定,訪客往下滾動時觸發組件狀態間的平滑動畫,創造具沉浸感與故事性的體驗。
將組件的定位改為 Sticky,讓它在旁邊文字滾動時保持原地,直到父層底部碰到它為止。
組件本身必須先建立好多個不同變體 (Variants),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)都擁有一致的動態細節。即使網站有數百個相同組件實例,只需設定一次大幅提升效率。
雙擊進入組件編輯模式,選取變體的父層框架,在 Effects 區新增 Appear 效果。
可自訂初始縮放比例(如 1.4 倍)、轉場設為 Ease Out、延長持續時間(如 1 秒),讓進場更具戲劇張力。
設定完成後,所有頁面的該組件實例,即使套用了不同變數(如不同圖示或顏色),也全都自動繼承播放這個進場動畫。
當子組件的互動需要觸發父組件的變化時,Events 就是子組件向上傳遞訊號的機制。
進入子組件編輯模式,選取觸發圖層,新增互動選擇「New Event」並命名(如 left、middle、right)。
回到父組件選取子組件實例,屬性面板會出現剛建立的事件屬性,設定事件觸發時父組件要過渡到哪個對應變體。
表單組件內的關閉按鈕加上「close」事件,在覆疊層設定將 close 事件指定為觸發「Close Overlay」即可。
Form:成功送出或發生錯誤時可觸發不同動畫回饋。
預設的網頁跳轉是瞬間的,透過頁面轉場 (Page Effects)可讓網站體驗更具連貫性,感覺更像原生 App。
轉場包含:當前頁面的退場 (Exit)方式,以及下一頁的進場 (Enter)方式。
選取桌面版斷點,在 Effects 區新增「Page Effect」。
⚠️ 「Apply to All Pages」選項只在首頁出現,必須在編輯首頁時才能一次性為全站設定。
可選擇 Crossfade、Slides、Pushes、Wipes 等預設,並細調透明度、縮放、位移與緩動。
全域設為「向左推擠」時,點擊返回上一頁也會向左推,邏輯不自然。
解法:在特定頁面(如分頁 A)新增 Page Effect,將目標 (Target)指定為首頁,預設改為「向右推擠」,讓前進與返回方向完美對應。
套用頁面轉場時,整個頁面(包含導覽列)都會被推走再滑入,打斷導覽列組件原有的動畫狀態。解法:透過佈局模板 (Layout Templates)讓共用元素固定不動。
選取導覽列,按右鍵選「Create Layout Template」,可把頁尾等共用元素也加入模板。
套用模板後,記得刪除各頁面原本手動建立的導覽列與頁尾,避免與模板繼承的元素重複。
雙擊進入佈局模板編輯模式,選取導覽列,在 Styles 區新增「Page Effect」屬性,設定為「Exclude」。
完成後導覽列完全獨立於頁面轉場之外,切換頁面時穩穩停留在原地保持連貫性。
在模板中將導覽列組件的「Variant」屬性設定為變數,回到個別頁面即可獨立切換到對應的高亮變體,解決「所有頁面永遠顯示同一個高亮狀態」的問題。
選取桌面版斷點後,在屬性面板底部找到「Cursor」區塊。
Web Cursor:套用作業系統預設游標樣式,具情境感,能提供「可點擊」或「可拖曳」等視覺提示。
選擇 Custom Cursor 並載入設計好的游標組件,設為「Replace」全面替換系統預設游標。
⚠️ 取代模式避免加入轉場延遲,以免游標操作卡頓不跟手。
設為「Follow」讓自訂組件跟在預設游標後方,可搭配「Difference 混合模式」創造 X 光透視效果。
可調整對齊基準與 X/Y 軸位移。透過 Spring 轉場加入平滑慣性延遲感;移除轉場則讓自訂組件與滑鼠同步移動。
選取特定框架新增 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 設為 100%,動畫反轉,從完整畫滿逐漸退場擦除。
開啟 Loop 並設為「Continuous」讓路徑無限流動。連續循環動畫建議轉場改為 Linear,確保等速不出現加減速頓挫感。
透明度疊加:底層設 20% 透明度靜態底圖,頂層 100% 透明度套用 Stroke,創造「順著底框填滿」的精緻效果。
色彩交錯進場:疊加多層不同顏色路徑,在 Transition 分別設定遞增延遲(0.2s、0.4s...),讓多條彩色線條接連畫出。
若某路徑畫出方向不一致,右鍵選「Reverse Path Direction」瞬間修正。