我喜欢列表。非常喜欢列表。有时我有这样的简短项目的列表:
列表A
但有时我有列表,里面有很长的文本块。喜欢这个:
名单B
对于列表A,我想保持项目接近,就像清单/待办事项一样。但是,对于列表B,我想在列表项中添加一个边距底部。这只适用于CSS吗?假设我想定位超过20个单词左右的列表项,我该使用什么选择器?
没有这样的选择器,但这里有一个想法来近似你想要的。诀窍是拥有一个不可见的元素,只有在内容很多时才会创建所需的空间。否则,它将与内容保持在同一行。
ul li div {
display:inline-block;
vertical-align:top;
}
ul li:after {
content:"";
display:inline-block;
width:calc(100% - 200px); /* update the 200px like you want*/
height:20px; /* your margin */
background:rgba(255,0,0,.2); /* to illustrate*/
}
<ul>
<li><div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque tempus viverra dapibus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas</div></li>
<li><div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque tempus viverra dapibus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas</div></li>
<li><div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque tempus viverra dapibus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas</div></li>
</ul>
<ul>
<li><div>Lorem ipsum dolor sit amet</div></li>
<li><div>Lorem</div></li>
<li><div>Lorem ipsum</div></li>
</ul>