css - 如何将列表项和列表内容与空格对齐?

标签 css

我想创建一个如下图所示样式的订单列表:

img

我已经用下面的代码尝试了一些方法:

body {
    padding: 20px;
}

ol {
    list-style-type: upper-roman;
    list-style-position: inside;
}
ol li {
    position: relative;
}
ol li span {
    position: absolute;
    left: 30px;
}

看起来是我想要的风格。但是,当内容换行时,它会折叠在一起:

img

有什么办法可以解决吗?

这是我用来演示的链接:

Demo code

最佳答案

CSS 自定义 counter :

我建议使用专用 CSS counter因为它是专为这些情况而设计的,您需要一个外观定制的计数器。

此外,如您所见,HTML 更加简单,并且不需要在每个 li 项中进行任何包装 span

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

ol li {
    position: relative;
    padding-left: 40px;
}

ol li::before {
  position: absolute;
  left: 0;
  counter-increment: list;  
  content: counter(list, upper-roman)'.';
}
<ol>
    <li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quaerat, excepturi!</li>
    <li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellat provident impedit id? Enim nihil aperiam modi? Laudantium vel maiores consequatur?</li>
    <li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis illum natus impedit non ea animi?</li>
    <li>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maxime consequuntur ea doloremque voluptatum, temporibus optio quis. Adipisci libero numquam laboriosam.</li>
    <li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim, magnam!.</li>
    <li>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Pariatur, qui?</li>
    <li>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Dolorem cum consectetur qui enim optio delectus.</li>
</ol>

关于css - 如何将列表项和列表内容与空格对齐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46741965/

相关文章:

html - 避免不自然的断词

css - Bootstrap 上的内容定位技巧

css - 在 flex4.11 跨域的 CSS 中使用 @font-face 嵌入字体

php - 如何按字母顺序动态显示订单列表?

css - 响应式 CSS 问题

css - 调整页面大小时容器向下移动

html - 如何创建可变宽度的 CSS 按钮?

html - 如何为引导表制作固定的列标题?格式相同

css - materializecss,垂直偏移下拉菜单内容

javascript - 动态图片 slider 解决方案