WordPress 區塊寬度對齊設定——寬版與全寬一次搞懂

在 WordPress 區塊編輯器裡,你大概都遇過這種狀況:插入一張圖片,工具列上有「寬版」跟「全寬」兩個按鈕,按下去圖片真的撐開了,視覺上很有氣勢。但換到另一篇文章,同樣插入圖片,那兩個按鈕卻消失了,或是按了也沒反應,圖片就是乖乖待在內文那條窄窄的範圍裡。

問題不在你操作錯,而在於「寬版」「全寬」這兩個選項背後,其實連動著主題層級的內容寬度與對齊設定。沒搞懂這套機制,排版就會時靈時不靈,永遠在跟編輯器猜謎。

這篇會把區塊寬度對齊設定從頭講清楚:內容寬度、寬版、全寬三者到底差在哪、它們的數值由主題的哪個設定決定、為什麼「內部區塊使用內容寬度」這個開關是關鍵,以及區塊間距該怎麼一次設好而不是每篇手動撐開。看完你會知道按鈕為什麼會消失,也會知道怎麼讓它穩定出現。

內容寬度、寬版、全寬到底差在哪裡

簡單說,這三者是同一篇文章裡「三種不同的橫向佔位」。內容寬度是文字段落待的那條中央欄,最窄;寬版比內容欄寬、但兩側仍留白;全寬則是左右貼齊瀏覽器視窗邊緣,完全不留邊。

它們在編輯器裡的入口都一樣。選取一個區塊後,區塊工具列最左邊會出現一顆對齊圖示,展開後通常有這幾個選項:

內容
最窄,文字欄
寬版
較寬,兩側留白
全寬
貼齊視窗邊緣

用途上有個直覺的分工。內容寬度給正文段落、清單、引言這類需要好讀的文字,因為一行字太寬眼睛會抓不到下一行的開頭。寬版適合需要喘息感的圖片、表格、多重欄位,撐開一點但又不會跟整頁邊框打架。全寬則留給橫幅、封面圖、想做出「整段沉浸」效果的區塊。

要注意的是,並不是每個區塊都吃這三種對齊。段落、標題這類純內文區塊,工具列只會給你靠左、置中、靠右的「文字對齊」,跟這裡講的寬度對齊是兩回事。真正能切換內容、寬版、全寬的,主要是圖片、圖庫、表格、多重欄位、群組、封面這類「有實體佔位」的區塊。

寬版與全寬的數值是哪裡來的

這三種寬度具體有多寬,不是編輯器隨機決定的,而是讀取佈景主題裡的兩個設定值:內容寬度(contentSize)與寬版寬度(wideSize)。

在採用區塊主題(Block Theme)的網站上,這兩個值定義在主題的 theme.json 檔案裡,長得像這樣:

{
  "version": 2,
  "settings": {
    "layout": {
      "contentSize": "720px",
      "wideSize": "1200px"
    }
  }
}

contentSize 決定內文那條中央欄有多寬,是整篇文章的預設寬度,文字段落都會被收束在這個範圍內。wideSize 則是按下「寬版」時區塊撐開到的寬度,一般落在內容寬度與整個視窗寬度之間。至於「全寬」沒有對應的數值,因為它的定義就是「不設上限」,左右直接貼齊視窗。

理解這層關係,前面那個按鈕消失之謎就解開了一半。如果一個主題的 wideSize 沒有設定、或設得跟 contentSize 一樣,那「寬版」按鈕對這個主題就沒有意義,編輯器自然不會把它顯示出來。換句話說,看不到寬版選項,多半是主題本身沒有為寬版留出空間,而不是你的區塊有問題。

如果你用的是經典主題(Classic Theme)而非區塊主題,機制略有不同。WordPress 5.0 時代是靠主題在 functions.php 裡呼叫 add_theme_support( 'align-wide' ) 來開啟寬版與全寬支援,寬度的 CSS 則要主題作者自己刻。現在的區塊主題已經把這件事標準化進 theme.json,主題作者只要填兩個數字,剩下的版型 CSS 由 WordPress 核心產生,不必再手寫一堆對齊樣式。

為什麼設了寬版,區塊卻沒撐開

這是最容易卡住的地方。你明明按了「寬版」或「全寬」,區塊卻沒有突破內文欄、看起來毫無變化。關鍵在一個藏在父層區塊裡的開關:「內部區塊使用內容寬度(Inner blocks use content width)」。

WordPress 的寬度規則是有階層的。內容寬度、寬版這些設定,是套用在「最外層、沒有被其他區塊包住」的區塊上。但只要一個區塊被放進群組(Group)、多重欄位(Columns)、查詢迴圈(Query Loop)或內文(Post Content)這類容器區塊裡,它的寬度就改由父層容器決定。

這幾個容器區塊在版型設定裡,都有「內部區塊使用內容寬度」這個開關:

容器區塊(群組)
開關決定子區塊能不能突破
內容
子區塊
寬版
需開關開啟

打開這個開關,等於告訴 WordPress:這個容器裡的每個子區塊,都可以選擇內容寬度、寬版或全寬。此時子區塊工具列才會出現完整的寬度對齊選項,按下「寬版」也才會真的撐開、突破父層的內容欄。

如果這個開關是關的,容器內的子區塊就沒有最大寬度限制,會直接填滿容器;但也因為失去了「內容寬度」這個基準,個別子區塊的寬版、全寬就無從談起。實務上的建議是:放正文的容器(例如包住整篇內文的群組)把這個開關打開,子區塊才能靈活切換三種寬度;只有在做整段滿版設計(例如一整塊滿版底色)時,才考慮關掉它。

所以當你發現「按了寬版沒反應」,先別懷疑區塊壞掉。用左上角的「清單檢視」看看這個區塊是不是被包在某個群組或欄位裡,再去檢查那個父層容器的「內部區塊使用內容寬度」有沒有打開。九成的情況都是卡在這裡。

全寬區塊與頁面邊距會打架嗎

會,而且這是新版主題特別處理過的一個細節,值得單獨講。許多區塊主題會在整個頁面的最外層(也就是 body)設定左右邊距(root-level padding),讓內容不會緊貼螢幕邊緣,在手機上尤其重要。

問題來了:邊距的存在本來就是要擋住內容貼邊,但「全寬」的定義偏偏就是要貼齊視窗邊緣。兩個需求直接衝突。

WordPress 6.1 之後用一個叫 useRootPaddingAwareAlignments 的設定來解這個矛盾。主題在 theme.json 裡把它設成 true

{
  "version": 2,
  "settings": {
    "appearanceTools": true,
    "useRootPaddingAwareAlignments": true,
    "layout": {
      "contentSize": "640px",
      "wideSize": "1000px"
    }
  }
}

開啟後,頁面邊距改成套用在內層的內容容器、而非整個 body。這樣一來,一般內容仍然保有左右留白,但被指定為「全寬」的區塊可以用負邊距抵銷掉那段 padding,真正做到左右貼齊視窗。這也是為什麼有些主題的全寬圖片能完美貼邊,有些卻會莫名其妙留一條白邊——差別就在主題作者有沒有開這個設定。

對寫文章的人來說,這個設定通常不用自己動,它是主題作者的責任。但知道它的存在很有幫助:當你發現全寬區塊兩側總是甩不掉那條白邊,問題八成出在主題沒有處理好邊距與全寬的關係,而不是你哪裡設定錯了。

區塊間距該整篇設還是逐個調

橫向的寬度講完,縱向的間距也是同一套邏輯:能在主題層級一次設好的,就不要每篇手動撐。

新手最常見的做法,是在段落之間插入「間隔(Spacer)」區塊,手動撐開上下距離,例如 H2 與 H2 之間放 50px、H3 之間放 30px。短期看很直覺,但這招的代價是維護成本。哪天你想把全站的段落間距改鬆一點,等於要回頭把每篇文章裡的間隔區塊一個一個改,文章一多就是惡夢。

比較好的做法是分清楚兩種情境。如果某個間距是「每篇文章的同一個位置都需要」(例如標題與內文之間的固定呼吸感),就應該到佈景主題的全域樣式設定,或在容器區塊的版型設定裡用「區塊間距(blockGap)」統一調整,一處改、全站生效。間隔區塊則留給「這一篇、這個位置的一次性微調」,例如某張圖下方剛好需要多一點空白。

容器區塊(群組、多重欄位)本身就支援設定內部子區塊之間的間距,這比逐個塞間隔區塊乾淨得多。把一組相關內容包進群組、設好群組的內距與子區塊間距,整組就會有一致的呼吸感,搬動、複製也不會亂掉。

判斷原則很簡單:這個排版決定如果未來可能要全站改一次,就放主題;如果只是這篇這裡的特例,才用區塊本身的設定處理。把握住這條線,排版改版時就不會被自己埋的地雷絆倒。

從按鈕消失到穩定排版,該怎麼收束這套設定

回到最開頭那個「按鈕時有時無」的困擾,現在答案應該清楚了:寬版與全寬不是區塊的獨立功能,而是內容寬度這套階層機制的延伸。主題的 contentSize 與 wideSize 決定了寬度數值,容器區塊的「內部區塊使用內容寬度」開關決定了子區塊能不能切換,主題的邊距處理則決定了全寬能不能真的貼邊。

實際操作時,建議的順序是:先確認主題在全域樣式或 theme.json 裡設好了內容寬度與寬版寬度,這是地基;接著在包住內文的容器區塊打開「內部區塊使用內容寬度」,讓圖片、表格能自由切換三種寬度;縱向間距優先用主題全域設定與容器的區塊間距處理,間隔區塊只做一次性微調。

把寬度與間距的決定權盡量交給主題層級,編輯每篇文章時你要操心的就只剩「這個區塊要內容、寬版還是全寬」這一個選擇。排版會穩定、會一致,未來要改版也只需動主題一處,而不是翻遍每一篇舊文。這就是區塊寬度對齊設定真正想幫你省下的工。

相關文章
標籤: WordPress, theme.json, 區塊編輯器, 全站編輯, 內容寬度