Css 将最后两个元素包装在一起
我有一个动态生成的UL/LI列表,其中包含可变数量的元素,水平显示。我想设置我的CSS,这样如果需要包装,列表中的最后两个元素总是包装在一起 标记:Css 将最后两个元素包装在一起,css,Css,我有一个动态生成的UL/LI列表,其中包含可变数量的元素,水平显示。我想设置我的CSS,这样如果需要包装,列表中的最后两个元素总是包装在一起 标记: <ul> <li>A</li> <li>B</li> ... </ul> 列表使用的空间是响应性的,元素是动态的,所以没有固定宽度的东西会有帮助。我无法控制标记,因为它来自CMS。我的列表项当前处于浮动状态,但更改为flex或inline块也可以 这在纯CSS中可能吗?使用f
<ul>
<li>A</li>
<li>B</li>
...
</ul>
列表使用的空间是响应性的,元素是动态的,所以没有固定宽度的东西会有帮助。我无法控制标记,因为它来自CMS。我的列表项当前处于浮动状态,但更改为flex或inline块也可以
这在纯CSS中可能吗?使用flex wrap属性,它将自动调整间距
ul{
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
这在CSS中是可能的
ul
的最小宽度设置为最后两个元素所需的空间li
的右边距设置为等于最后一个li
的宽度li
的左边距设置为其宽度的负数ul {
min-width: 4em;
}
li {
float: left;
width: 2em;
}
li:nth-last-of-type(2) {
margin-right: 2em;
}
li:nth-last-of-type(1) {
margin-left: -2em;
}
您能告诉我们列表的标记是什么样的吗?你是如何生成它的?你完全可以用JS来实现这一点,例如:
A B C D e F g
,然后$('p.nobreak').each(function(){$(this).html($(this).html().replace(/\s+(\s+$/,'1')))
我想我很清楚,但是可以肯定的是:它只是从CMS中生成的一个- A
- B 。