Flexbox 版面產生器

用視覺化面板設定 flex 容器和每個項目,版面即時預覽,CSS 程式碼一鍵複製。

預設
容器
排列方向
換行
主軸對齊
交叉軸對齊
項目
項目 1
單獨對齊
CSS
調整容器和項目,拼出你要的版面。

版面都在你的瀏覽器裏產生,這裡設定的內容不會上傳到 BroBroGo。

常見問題

justify-content 和 align-items 有甚麼差別?

justify-content 沿主軸(項目排列的方向)分配項目,align-items 則控制項目在另一條軸上的位置。把方向從 row 改成 column,兩條軸就對調了——justify-content 變成上下排列,align-items 變成左右對齊。

單一項目的控制項如何使用?

先依編號選取一個項目,再設定它有空間時放大多少、空間不足時縮小多少、初始尺寸(基準)以及它自己的交叉軸對齊方式。順序(order)能讓項目在畫面上提前或往後,而不必更動 HTML。只有你真正修改過的項目,才會在 CSS 裏單獨產生一條規則。

換行和 align-content 甚麼時候會起作用?

不換行時,所有項目都被擠在同一行,會被壓得更窄。開啟換行後,放不下的項目會掉到下一行——這時 align-content 才登場,把多行當成一個整體來分配間距。間距(gap)則不必用外距就能設定項目之間、以及行與行之間的空隙。

視覺化設計 CSS Flexbox 版面

「Flexbox 版面產生器」是一個實用的視覺化工具,協助使用者設定 flex 容器與其子項目。使用者可以透過控制面板調整各項版面屬性,在即時預覽區域即時觀察版面變化,並複製產生的 CSS 程式碼,直接應用於網頁設計中。

本工具適合以下使用者與應用場景:

  • 想要以視覺化方式設計 CSS flexbox 版面。
  • 需要快速為 flex 容器及其項目產生 CSS 程式碼。
  • 希望深入理解不同 flexbox 屬性對版面所產生的實際效果。
  • 正在建立常見的網頁版面,例如置中元素、導覽列、縱向堆疊、卡片網格或側邊欄。

調整容器屬性

在「容器」設定面板中,使用者可以調整影響整個 flex 容器的屬性,這些屬性決定了子項目的整體排列與對齊方式:

  • 排列方向:可選擇「橫向」(Row)、「橫向反轉」、「縱向」或「縱向反轉」。當排列方向從橫向切換為縱向時,主軸與交叉軸會互相對調,這會直接影響「主軸對齊」與「交叉軸對齊」的運作方式。
  • 換行:可選擇「不換行」(No wrap)、「換行」(Wrap)或「反向換行」。在「不換行」的設定下,所有項目都會被強制擠在同一行;當開啟「換行」後,無法容納的項目會自動掉到下一行。
  • 主軸對齊:控制項目在主軸上的分佈,選項包括「起始」、「結尾」(End)、「置中」、「兩端對齊」、「環繞分佈」及「平均分佈」。
  • 交叉軸對齊:控制項目在交叉軸上的對齊,選項包括「起始」、「結尾」(End)、「置中」、「拉伸」及「基線」。
  • 多行對齊:當開啟換行並產生多行項目時,此屬性用於控制多行之間的間距分佈,選項包括「起始」、「結尾」(End)、「置中」、「拉伸」、「兩端對齊」、「環繞分佈」及「平均分佈」。
  • 間距:輸入數值來設定項目之間以及行與行之間的空隙。

調整項目屬性

除了容器設定,使用者也可以針對個別「項目」進行微調。當點擊「新增項目」時,預覽區域會出現新的項目(例如「項目 5」)。

選取特定項目後,可以設定以下屬性:

  • 順序:輸入數值以改變項目在排版中的先後順序。
  • 放大:輸入數值,設定項目在容器有剩餘空間時的放大比例。
  • 縮小:輸入數值,設定項目在空間不足時的縮小比例。
  • 基準尺寸:可輸入數值或設定為「自動基準」(Auto)。
  • 單獨對齊:覆蓋容器的交叉軸對齊設定,單獨控制該項目的對齊方式,選項包括「自動」(Auto)、「起始」、「結尾」(End)、「置中」、「拉伸」及「基線」。

在產生 CSS 程式碼時,系統採用了優化機制:只有屬性被修改過的項目,才會單獨產生專屬的 CSS 規則。


複製 CSS 程式碼

當調整出理想的版面後,使用者可以點擊「複製 CSS」按鈕。點擊後,按鈕狀態會切換為「已複製」,代表產生的 CSS 程式碼已成功複製到剪貼簿中,方便隨時貼上到專案的樣式表內。


瀏覽器內安全處理

本工具非常注重用戶隱私。所有的版面設定與程式碼產生過程,均直接在用戶的瀏覽器內完成。使用者在工具中進行的任何設定與輸入內容,均不會上傳到伺服器。


常見問題

主軸對齊(justify-content)與交叉軸對齊(align-items)有甚麼差別?

「主軸對齊」是沿著主軸(即項目排列的方向)來分配項目與剩餘空間,而「交叉軸對齊」則是控制項目在與主軸垂直的另一條軸線上的對齊位置。當您將「排列方向」從橫向改為縱向時,主軸與交叉軸會互相對調,這會使「主軸對齊」轉為控制上下排列,而「交叉軸對齊」轉為控制左右對齊。

單一項目的控制項如何使用?

您可以先選取特定的項目,然後針對該項目設定「放大」比例、「縮小」比例、初始的「基準尺寸」,以及該項目專屬的「單獨對齊」方式。「順序」屬性則允許您在不更動 HTML 結構的前提下,改變項目在畫面上的排列順序。為了保持程式碼簡潔,只有您實際修改過屬性的項目,才會在輸出的 CSS 中產生對應的樣式規則。

換行與多行對齊(align-content)甚麼時候會起作用?

當「換行」設定為「不換行」時,所有項目都會被強行擠在單一行內。一旦開啟「換行」,當容器寬度不足以容納所有項目時,放不下的項目就會掉到下一行。此時,「多行對齊」屬性才會生效,用以控制這些多行項目作為一個整體時的行間距分佈。此外,您可以使用「間距」屬性來直接設定項目之間與行與行之間的距離。