You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HTML有序列表序号对齐:如何将罗马数字置于固定宽度背景框上

有序列表罗马数字序号样式调整方案

无需修改任何HTML结构,仅调整CSS即可实现全部需求:罗马数字序号居中显示在固定宽度黄色背景块上方、长序号溢出背景块无额外黄色背景、所有列表文本(含换行段落)左对齐完全统一,同时保留原有布局样式。

核心调整逻辑

  • 给列表项li设置相对定位作为定位基准,通过固定左侧内边距预留序号区域,彻底解决多行文本缩进对齐不一致问题
  • 拆分两个伪元素分别实现黄色背景块、罗马数字序号,通过绝对定位控制层级:序号层级更高浮于上层,垂直偏移到背景块上方,水平居中
  • 黄色背景块设置固定宽高,不受序号长度影响;序号居中对齐,长序号自然溢出背景块区域,溢出部分无黄色背景

调整后完整CSS代码

html {margin: 40px}
body {margin: 0 auto;}
article{background: #EEE;  padding: 0em;}

ol {
  list-style-type: none; 
  counter-reset: section;
}

ol li{
    position: relative;
    border-bottom: 2px solid #CCC;
    padding-left: 1.5em;
    margin: 0.6em 0;
}

/* 伪元素实现固定宽度黄色背景块 */
ol li:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.25em;
    width: 1em;
    height: 0.6em;
    background: yellow;
}

/* 伪元素实现居中上浮的罗马数字序号 */
ol li:after {
    counter-increment: section;
    content: counter(section, lower-roman);
    position: absolute;
    left: 0;
    top: -0.3em;
    width: 1em;
    text-align: center;
    color: blue;
    z-index: 2;
}

自定义调整说明

  • 若需要适配更长的罗马数字序号,可同步修改两个伪元素的width属性,调大黄色背景块宽度即可
  • 可通过修改两个伪元素的top属性值,调整序号和黄色背景块的垂直相对位置
  • 可修改li的padding-left属性值,调整序号区域和正文文本的间距

内容的提问来源于stack exchange,提问作者Sam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 11:24:15