Flexbox溢出-x最后一个边距

时间:2018-03-03 09:23:23

标签: html css css3 flexbox margin

我使用翻译。 我的意见无法准确传递。

ul {
  display: flex;
  overflow-x: auto;
  border: 1px solid aqua;
  background-color: tomato;
  width: 400px;
  list-style:none;
  padding-left:0px;
}
li {
  border: 1px solid Aquamarine;
  min-width: 300px;
  margin: 10px;
}
<ul>
  <li>item1</li>
  <li>item2</li>
  <li>item3</li>
  <li>item4</li>
</ul>

https://codepen.io/anon/pen/bLJREL

与我试图做的不同,最后一个元素没有余量。

如果你想在'item4'元素之后添加保证金怎么办?

1 个答案:

答案 0 :(得分:2)

您可以使用与:after相同的width伪元素来创建该空格,但您还需要从上一个margin-right删除li

ul {
  display: flex;
  overflow-x: auto;
  border: 1px solid aqua;
  background-color: tomato;
  width: 400px;
  list-style: none;
  padding-left: 0;
}
ul:after {
  content: '';
  flex: 0 0 10px;
}
li {
  border: 1px solid Aquamarine;
  min-width: 300px;
  margin: 10px;
}
li:last-child {
  margin-right: 0;
}
<ul>
  <li>item1</li>
  <li>item2</li>
  <li>item3</li>
  <li>item4</li>
</ul>