【发布时间】:2020-09-22 22:12:23
【问题描述】:
我有一个简单的HTML 列表,它总是有如下偶数个项目:
<ul>
<li><a href="">Item 1</a></li>
<li><a href="">Item 2</a></li>
<li><a href="">Item 3</a></li>
<li><a href="">Item 4</a></li>
<li></li>
<li><a href="">Item 5</a></li>
<li><a href="">Item 6</a></li>
<li><a href="">Item 7</a></li>
<li><a href="">Item 8</a></li>
</ul>
我想把这个列表放到页面的中心。在:empty li 上方有一个固定的宽度,它始终位于页面的中心。
我的问题是我需要在:empty<li> 的<li>s 之前和之后对齐,如下图所示。 (在这种情况下,前四个 <li> 到右侧,后四个 <li> 到左侧到 :empty 项目)。例如:empty 所有其他<li> 具有可变宽度。
这是我的CSS:
ul {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-pack: center;
-moz-box-pack: center;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
margin: 0;
}
ul > li {
position: relative;
display: block;
}
ul > li:empty {
width: 10em;
background: #e04c4c;
position: absolute;
height: 100%;
left: 50%;
transform: translateX(-50%);
}
.left.last {
margin-right: 5em;
}
.right.first {
margin-left: 5em;
}
它对我有用,如果我有固定宽度<li>,但在这里我不能使用固定宽度。
谁能告诉我有没有其他方法可以得到我想要的输出?
谢谢。
【问题讨论】: