我想实现以下目标:
IForecastResult
这是我正在使用的代码:
000 Lorem ipsum
dolor
0 Lorem ipsum
dolor
CSS:
<ul>
<li>Lorem ipsum dolor sit amet, sed do eiusmo</li>
<li>Lorem ipsum dolor sit amet elit</li>
</ul>
您能用CSS帮助我使文本与之前的内容保持相等的距离吗?
“ Lorem”和“ dolor”需要保持在同一“垂直线”。
https://jsfiddle.net/ga6r8qsz/
谢谢。
答案 0 :(得分:1)
使伪元素::befores
像块一样,您可以增加它们的宽度并以此方式控制列表的视图
此处示例:
li:before {
content: "0";
display:inline-block;
width:35px;
}
li:first-child:before {
content: "000";
display:inline-block;
width:35px;
}
ul {
width:300px;
list-style: none;
}
<ul>
<li>some text</li>
<li>some text more</li>
</ul>
答案 1 :(得分:1)
在display: flex
元素上使用li
属性不仅会在:before
伪元素和li
标记之间赋予相等的间距,还会使{{1 }}标签在新行上对齐,如下所示。
li
li {
display: flex;
}
li:before {
content: "0";
width:70px;
}
li:first-child:before {
content: "000";
}
ul {
width:150px;
list-style: none;
}
答案 2 :(得分:1)
您可以使用before
元素上的绝对位置来执行此操作。这将确保您的li
个项目保持垂直排列。
li {
position: relative;
padding-left: 15px;
margin-bottom: 15px;
}
li::before {
content: "0";
position: absolute;
width: 35px;
left: -35px;
}
li:first-child::before {
content: "0000";
}
ul {
width: 100px;
list-style: none;
}
<ul>
<li>Lorem ipsum dolor sit amet, sed do eiusmo</li>
<li>Lorem ipsum dolor sit amet elit</li>
</ul>
答案 3 :(得分:0)
在这里,您不需要为宽度使用任何固定值。考虑一个表布局,它将与任何伪元素内容一起使用:
li:before {
content: "0";
display:table-cell;
padding-right:5px;
}
li:first-child:before {
content: "000";
}
ul {
width:200px;
list-style: none;
display:table;
}
li {
display:table-row;
}
<ul>
<li>Lorem ipsum dolor sit amet, sed do eiusmo</li>
<li>Lorem ipsum dolor sit amet elit</li>
</ul>