05. Figma的層級對象關係

原文:Parent, child and sibling relationships

誰可以使用此功能

・任何計劃的用戶
・此處概述的概念適用於任何訪問級別(any level of access)。這些術語不是 Figma 特有的,但它們將幫助您理解 Figma 中的一些行為和依賴項。

我們使用術語 ParentChildSibling 來描述 Figma 中對象之間的關係。

這些術語通常用於解釋 Web 開發或編程中的類似關係。

在本文中,將闡明使用這些術語時的含義。

如果您有面向對象編程 (OOP) 的背景,那麼這些關係就會有所不同。 Figma 中的父/子關係與繼承並不真正相關。

在 Figma 中,這些關係的功能更像是文檔對像模型 (DOM)。也就是說,裡面有元素的容器。

Parents children and siblings


我們使用這些術語來解釋對像如何與畫布上的其他對象相關聯。

父對像(Parents)是包含其他對象的對象 - 即框架、組件和組。

子對像(Children)是包含在父對像中的對象。

兄弟姐妹(Siblings)是包含在同一個父級中的對象。

・在內部有對象的 Frame 中,Frame 是父對象(parent),其中的任何對像都是子對象(children)。
・Frame 本身不會自動成為父級。如果其中有對象,則它只是父級。
・如果父對象(parent)包含多個對象,則子對像(child)是兄弟對象(siblings)。
・對象(Objects)——比如框架(Frames)、組(Groups)和組件(Components)——既可以是父對象(parents),也可以是子對象(children)。

Parent and child interactions

雖然這些術語在產品中沒有明確使用,但它們對於理解對像在 Figma 中的行為和相互關係很重要。

與它們的生物學對應物不同,它們充當相互影響的容器(parents)和內容物(children)。而不是具有顯式繼承的定義世系。

特性


有涉及影響的parent/child關係。在很多情況下,父級將是一個 Frame。

您可以將以下屬性添加到影響其所有子對象的 Frame:

佈局網格Layout Grids:為您的設計創建視覺結構
自動佈局Auto Layout:創建響應其內容的動態框架
剪輯內容Clip Content:隱藏框架內超出框架邊界的任何對象

還可以向子對象添加屬性:

約束:定義當您調整父 Frame 大小時子對象將如何響應

Parenting behavior


當把 Canvas 中的對象移動到新位置時,Figma 將決定是否重新設置對象的父級。

Reparenting 意味著對像從其當前父級(例如一個 Frame)中取出並嵌套在另一個 Frame 中。

當向 Frame 添加新對象時,Figma 使用相同的父級邏輯。

默認行為是:

・如果一個對像比一個 Frame 小,將使它成為 Frame 的子對象
・如果一個對像比一個 Frame 大,那麼不會讓它成為一個子元素

繞過默認行為


可以選擇繞過默認行為:

・添加對象時,按住空格鍵以防止 Figma 重新父級(reparenting)對象
・將對象移出框架的邊界時,按住空格鍵可將對象保留在當前父項內