这是我到目前为止所做的:
ol {
text-align: justify;
}
ol.first {
list-style: upper-roman;
list-style-position: inside;
}
ol.second {
list-style: upper-latin;
list-style-position: inside;
}
ol.third {
list-style: lower-roman;
list-style-position: inside;
}
ol li {
display: inline-flex;
margin-bottom: 5px;
white-space: normal;
}
ol li .number {
display: list-item;
}
ol li .content {
margin-left: 15px;
}

<ol class="first">
<li>
<div class="number"></div>
<div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur ipsum nisi, hendrerit vel tristique vel, ornare eget ligula. Quisque ipsum eros, rhoncus nec luctus et, interdum quis est. Quisque semper id magna sed iaculis. Vestibulum ornare aliquam
neque nec consectetur. Curabitur molestie venenatis urna sed congue. Interdum et malesuada fames ac ante ipsum primis in faucibus.</div>
</li>
<li>
<div class="number"></div>
<div class="content">Phasellus vel convallis magna. Nam ex quam, lacinia ac facilisis et, tempor vitae elit. Duis sit amet urna scelerisque, molestie ipsum sed, ultricies orci. Duis ac purus congue, maximus enim ut, rutrum quam. Quisque porta bibendum ex, eget laoreet
neque eleifend eu. Etiam ac leo a dui consectetur dictum ut in lacus.</div>
</li>
<li>
<ol class="second">
<li>
<div class="number"></div>
<div class="content">Labore exercitation fugiat mollit nostrud. Dolore quis id aliquip eu reprehenderit proident. Cupidatat ullamco esse non nisi minim et veniam sunt labore proident esse ea ex. Officia sint deserunt cupidatat amet irure esse fugiat laborum. Aliqua
deserunt aute cillum enim officia irure ut officia proident ea. Quis sunt enim esse reprehenderit aute est.</div>
</li>
<li>
<div class="number"></div>
<div class="content">Labore exercitation fugiat mollit nostrud. Dolore quis id aliquip eu reprehenderit proident. Cupidatat ullamco esse non nisi minim et veniam sunt labore proident esse ea ex. Officia sint deserunt cupidatat amet irure esse fugiat laborum. Aliqua
deserunt aute cillum enim officia irure ut officia proident ea. Quis sunt enim esse reprehenderit aute est.</div>
</li>
<li>
<div class="number"></div>
<div class="content">Labore exercitation fugiat mollit nostrud. Dolore quis id aliquip eu reprehenderit proident. Cupidatat ullamco esse non nisi minim et veniam sunt labore proident esse ea ex. Officia sint deserunt cupidatat amet irure esse fugiat laborum. Aliqua
deserunt aute cillum enim officia irure ut officia proident ea. Quis sunt enim esse reprehenderit aute est.</div>
</li>
</ol>
</li>
<li>
<div class="number"></div>
<div class="content">Phasellus vel convallis magna. Nam ex quam, lacinia ac facilisis et, tempor vitae elit. Duis sit amet urna scelerisque, molestie ipsum sed, ultricies orci. Duis ac purus congue, maximus enim ut, rutrum quam. Quisque porta bibendum ex, eget laoreet
neque eleifend eu. Etiam ac leo a dui consectetur dictum ut in lacus.</div>
</li>
<li>
<div class="number"></div>
<div class="content">Phasellus vel convallis magna. Nam ex quam, lacinia ac facilisis et, tempor vitae elit. Duis sit amet urna scelerisque, molestie ipsum sed, ultricies orci. Duis ac purus congue, maximus enim ut, rutrum quam. Quisque porta bibendum ex, eget laoreet
neque eleifend eu. Etiam ac leo a dui consectetur dictum ut in lacus.</div>
</li>
<li>
<div class="number"></div>
<div class="content">Phasellus vel convallis magna. Nam ex quam, lacinia ac facilisis et, tempor vitae elit. Duis sit amet urna scelerisque, molestie ipsum sed, ultricies orci. Duis ac purus congue, maximus enim ut, rutrum quam. Quisque porta bibendum ex, eget laoreet
neque eleifend eu. Etiam ac leo a dui consectetur dictum ut in lacus.</div>
</li>
<li>
<div class="number"></div>
<div class="content">Phasellus vel convallis magna. Nam ex quam, lacinia ac facilisis et, tempor vitae elit. Duis sit amet urna scelerisque, molestie ipsum sed, ultricies orci. Duis ac purus congue, maximus enim ut, rutrum quam. Quisque porta bibendum ex, eget laoreet
neque eleifend eu. Etiam ac leo a dui consectetur dictum ut in lacus.</div>
</li>
<li>
<div class="number"></div>
<div class="content">Phasellus vel convallis magna. Nam ex quam, lacinia ac facilisis et, tempor vitae elit. Duis sit amet urna scelerisque, molestie ipsum sed, ultricies orci. Duis ac purus congue, maximus enim ut, rutrum quam. Quisque porta bibendum ex, eget laoreet
neque eleifend eu. Etiam ac leo a dui consectetur dictum ut in lacus.</div>
</li>
</ol>
&#13;
https://codepen.io/BraveVN1804/pen/NvxYyJ
但是当罗马数字增加时,段落在同一垂直线上没有对齐。我可以使用table
重构代码来修复它,但在我的情况下,这不是一个好主意,所以我想用list
来完成。
答案 0 :(得分:1)
https://jsfiddle.net/prowseed/f5a3p8qd/
基本上你所要做的就是删除自然计数器,而是在counter()
伪元素中使用css :before
功能,这些功能绝对位于相对li
父级内。
<ol>
<li>...</li>
...
</ol>
ol {
list-style:none;
counter-reset: mycounter;
}
ol li {
position:relative;
padding:10px 0 10px 80px;
}
ol li:before {
content: counter(mycounter, upper-roman);
counter-increment: mycounter;
position:absolute;
top:0;
left:0;
}
答案 1 :(得分:0)
将固定宽度设置为.number
。演示:
ol {
text-align: justify;
}
ol.first {
list-style: upper-roman;
list-style-position: inside;
}
ol.second {
list-style: upper-latin;
list-style-position: inside;
}
ol.third {
list-style: lower-roman;
list-style-position: inside;
}
ol li {
display: inline-flex;
margin-bottom: 5px;
white-space: normal;
}
ol li .number {
width: 50px; /* new */
display: list-item;
}
ol li .content {
margin-left: 15px;
}
<ol class="first">
<li>
<div class="number"></div>
<div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur ipsum nisi, hendrerit vel tristique vel, ornare eget ligula. Quisque ipsum eros, rhoncus nec luctus et, interdum quis est. Quisque semper id magna sed iaculis. Vestibulum ornare aliquam
neque nec consectetur. Curabitur molestie venenatis urna sed congue. Interdum et malesuada fames ac ante ipsum primis in faucibus.</div>
</li>
<li>
<div class="number"></div>
<div class="content">Phasellus vel convallis magna. Nam ex quam, lacinia ac facilisis et, tempor vitae elit. Duis sit amet urna scelerisque, molestie ipsum sed, ultricies orci. Duis ac purus congue, maximus enim ut, rutrum quam. Quisque porta bibendum ex, eget laoreet
neque eleifend eu. Etiam ac leo a dui consectetur dictum ut in lacus.</div>
</li>
<li>
<ol class="second">
<li>
<div class="number"></div>
<div class="content">Labore exercitation fugiat mollit nostrud. Dolore quis id aliquip eu reprehenderit proident. Cupidatat ullamco esse non nisi minim et veniam sunt labore proident esse ea ex. Officia sint deserunt cupidatat amet irure esse fugiat laborum. Aliqua
deserunt aute cillum enim officia irure ut officia proident ea. Quis sunt enim esse reprehenderit aute est.</div>
</li>
<li>
<div class="number"></div>
<div class="content">Labore exercitation fugiat mollit nostrud. Dolore quis id aliquip eu reprehenderit proident. Cupidatat ullamco esse non nisi minim et veniam sunt labore proident esse ea ex. Officia sint deserunt cupidatat amet irure esse fugiat laborum. Aliqua
deserunt aute cillum enim officia irure ut officia proident ea. Quis sunt enim esse reprehenderit aute est.</div>
</li>
<li>
<div class="number"></div>
<div class="content">Labore exercitation fugiat mollit nostrud. Dolore quis id aliquip eu reprehenderit proident. Cupidatat ullamco esse non nisi minim et veniam sunt labore proident esse ea ex. Officia sint deserunt cupidatat amet irure esse fugiat laborum. Aliqua
deserunt aute cillum enim officia irure ut officia proident ea. Quis sunt enim esse reprehenderit aute est.</div>
</li>
</ol>
</li>
<li>
<div class="number"></div>
<div class="content">Phasellus vel convallis magna. Nam ex quam, lacinia ac facilisis et, tempor vitae elit. Duis sit amet urna scelerisque, molestie ipsum sed, ultricies orci. Duis ac purus congue, maximus enim ut, rutrum quam. Quisque porta bibendum ex, eget laoreet
neque eleifend eu. Etiam ac leo a dui consectetur dictum ut in lacus.</div>
</li>
<li>
<div class="number"></div>
<div class="content">Phasellus vel convallis magna. Nam ex quam, lacinia ac facilisis et, tempor vitae elit. Duis sit amet urna scelerisque, molestie ipsum sed, ultricies orci. Duis ac purus congue, maximus enim ut, rutrum quam. Quisque porta bibendum ex, eget laoreet
neque eleifend eu. Etiam ac leo a dui consectetur dictum ut in lacus.</div>
</li>
<li>
<div class="number"></div>
<div class="content">Phasellus vel convallis magna. Nam ex quam, lacinia ac facilisis et, tempor vitae elit. Duis sit amet urna scelerisque, molestie ipsum sed, ultricies orci. Duis ac purus congue, maximus enim ut, rutrum quam. Quisque porta bibendum ex, eget laoreet
neque eleifend eu. Etiam ac leo a dui consectetur dictum ut in lacus.</div>
</li>
<li>
<div class="number"></div>
<div class="content">Phasellus vel convallis magna. Nam ex quam, lacinia ac facilisis et, tempor vitae elit. Duis sit amet urna scelerisque, molestie ipsum sed, ultricies orci. Duis ac purus congue, maximus enim ut, rutrum quam. Quisque porta bibendum ex, eget laoreet
neque eleifend eu. Etiam ac leo a dui consectetur dictum ut in lacus.</div>
</li>
<li>
<div class="number"></div>
<div class="content">Phasellus vel convallis magna. Nam ex quam, lacinia ac facilisis et, tempor vitae elit. Duis sit amet urna scelerisque, molestie ipsum sed, ultricies orci. Duis ac purus congue, maximus enim ut, rutrum quam. Quisque porta bibendum ex, eget laoreet
neque eleifend eu. Etiam ac leo a dui consectetur dictum ut in lacus.</div>
</li>
</ol>