內容導覽
處理 WordPress 頁碼變形與對齊問題
在調整 WordPress 頁碼樣式時,最常遇到的挫折是設定了 border-radius: 50% 後,頁碼卻呈現扁橢圓形,或是當頁數來到雙位數(如 10、11)時,圓形被數字撐開變形。這種情況通常是因為預設樣式過度依賴 padding 來撐開空間,而非固定寬高,導致元素無法維持完美的 1:1 比例。
核心實作原理
要達成正圓形,必須滿足三個 CSS 核心條件:首先是將元素從 inline 改為 inline-block,使其能夠正確解析 width 與 height 屬性;其次是強制寬高一致,並將 padding 歸零避免干擾幾何計算;最後則是利用 line-height 達成垂直置中,這比使用 padding 更容易精確控制數字位置,避免數字在圓圈內上下偏移。
範例程式碼
span.page-numbers.current {
background-color: #A48472;
padding: 0; /* 歸零內距,交由寬高統一控制 */
border-radius: 50%; /* 製作正圓形的必要設定 */
width: 36px !important; /* 強制固定寬度 */
height: 36px !important; /* 強制固定高度 */
display: inline-block; /* 關鍵:讓 span 元素能接受寬高設定 */
line-height: 36px; /* 讓數字在圓圈內垂直置中 */
text-align: center; /* 水平置中 */
color: #fff; /* 文字顏色 */
}步驟拆解與說明
- 切換顯示模式:WordPress 預設頁碼多使用 span 或 a 標籤,這些是 inline 元素,無法直接設定寬高。使用
display: inline-block是所有排版效果的起點。 - 鎖定幾何比例:為了確保在任何頁數(無論是 1 還是 99)下都能維持正圓,必須指定明確且相等的
width與height。使用!important是為了確保樣式不會被主題內建的動態計算規則覆蓋。 - 移除內距干擾:傳統做法常會設定 padding,但在固定寬高的情況下,額外的 padding 會導致圓形溢出或數字偏離中心,因此建議將 padding 歸零。
- 精準校正文字位置:將
line-height設定為與高度相同的值,這是最穩定的垂直置中方案,能確保數字精準落在圓心。
踩坑提醒與實務建議
- 權重競爭:許多 WordPress 主題(如 Astra、GeneratePress)對頁碼有非常深層的 CSS 定義,如果發現設定沒生效,請檢查開發者工具,確認是否被
.nav-links .page-numbers這類更高權重的選擇器壓過。 - 字體偏移問題:某些字體本身有 Baseline 偏移,如果發現數字看起來偏下或偏上,可以微調 1-2px 的
line-height,不一定要死守與高度完全相等。 - 多位數頁碼:如果網站文章極多,頁碼來到三位數(如 128),36px 的圓圈可能會顯得擁擠,實務上需視內容調整寬高到 40px 以上,以兼顧視覺美感與閱讀舒適度。
- 行間距影響:當頁碼換行時,若父層容器沒有設定適當的
line-height或margin,圓形之間可能會上下重疊,建議在頁碼元素外層加上margin-bottom。
實作懶人包,照作就能用
操作步驟
- 進入 WordPress 後台,安裝並啟用 FluentSnippets 外掛
- 點擊「Add New Snippet」,選擇「CSS」類型並自訂名稱(如:正圓形頁碼樣式)
- 將文章中的 CSS 程式碼完整複製,貼入程式碼編輯框中
- 本程式碼針對 .page-numbers 與 .current 類別進行優化,若你是使用 Elementor 的分頁元件且樣式未變更,請到該元件的「進階」>「CSS Classes」欄位填入 page-numbers 以確保樣式正確套用
- 點擊儲存並啟用(Enable)
- 清除網站所有快取,回到前台確認頁碼是否已成功變為正圓形
如果啟用後網站出現異常,回到 Snippets 將該片段停用即可立刻復原,不會影響其他設定。


