使用 text-align:center + display:inline 讓 ul > li 水平居中,但 padding:0 導致佈局錯位;取消 padding:0 則正常。
瀏覽器 User Agent Stylesheet 給 ul 設置了默認 padding-inline-start: 40px(約 8px × 5)。直接寫 padding:0 會覆蓋所有方向,導致原本用於容納列表標記(圓點/數字)的左側內邊距歸零,標記溢出或佈局塌陷。
#wizard ul {
list-style: none;
text-align: center;
padding-left: 0; /* 僅清除左側 */
padding-right: 0; /* 視設計需要 */
/* padding-top/bottom 保持瀏覽器默認或顯式設置 */
}
#wizard ul {
padding-left: 40px; /* 或 2.5em,近似默認值 */
}
引入成熟的樣式重置庫,統一跨瀏覽器基準,再按需覆蓋。
padding:0 暴力清除 ul/ol 內邊距。display:flex 或 grid,避開 inline-block + text-align 的坑。list-style: none; padding-left: 1.5em; 保留縮進空間。#wizard ul {
display: flex;
justify-content: center;
gap: 8px;
list-style: none;
padding: 0;
margin: 0;
}
#wizard li {
background: #000;
color: #fff;
border-radius: 5px;
padding: 4px 12px;
}
ul 默認左內邊距用於顯示列表標記。暴力 padding:0 會破壞語義佈局。精準重置或改用 Flexbox 是正確出路。