如何在列表中的元素之间具有相同的 space?

How to have same space between elements in list?

我正在尝试在 li 元素之间添加相同的 space,但我不知道该怎么做。有人能指出我正确的方向吗?提前致谢

  .container {
    width: 600px;
    height: 500px;
    margin:auto;
    padding:10 ;
    border: 1px solid #ccc;
  }
  
  #ul_top {
    display: flex;
    justify-content:space-around;
    list-style-type:none;
  }

  li:not(:first-child) {
    padding-right: 50px;
    color:red;
  }

  .title {
    padding-top: 80px;
  }

  .horizontal-line {
    width: 490px;
    margin: auto;
    padding-left:10px;
    border-top: 1px solid #cccccc;
    position: relative;
    top:-20;

  }
 <div class="container">
    <div class="title"></div>
    <div class="horizontal-line"></div>
    <ul id ="ul_top">
      <li>text1</li>
      <li>text2</li>
      <li>text3</li>
      <li>text4</li>
      <li>text5</li>
      <li>text6</li>
    </ul>
  </div>

我希望每个 li 元素和最后一个元素 (text6) 之间的相同 space 距离向右移动一点,以便与上面的水平线对齐。

使用display: flexjustify-content: space-between/space-around

此外,ul 有一个默认填充,所以只需用 padding: 0 覆盖它即可。

我删除了padding-right :not(:first-child)

您可以调整 horizontal-line 和 flexbox 的宽度相同,当您在两者之间使用 space 时,行和文本对齐。

.container {
  width: 600px;
  height: 500px;
  margin: auto;
  padding: 10;
  border: 1px solid #ccc;
}

#ul_top {
  display: flex;
  justify-content: space-between;
  list-style-type: none;
  padding: 0;
  width: 90%;
  margin: 20px auto;
}

li:not(:first-child) {
  color: red;
}

.title {
  padding-top: 80px;
}

.horizontal-line {
  width: 90%;
  margin: auto;
  padding-left: 10px;
  border-top: 1px solid #cccccc;
  position: relative;
  top: -20;
}
<div class="container">
  <div class="title"></div>
  <div class="horizontal-line"></div>
  <ul id="ul_top">
    <li>text1</li>
    <li>text2</li>
    <li>text3</li>
    <li>text4</li>
    <li>text5</li>
    <li>text6</li>
  </ul>
</div>

试试这个

.container {
  width: 600px;
  height: 500px;
  margin: auto;
  padding: 10;
  border: 1px solid #ccc;
}

#ul_top {
  display: flex;
  justify-content: space-between;
  list-style-type: none;
  padding: 0;
  width: 90%;
  margin: 20px auto;
}

li:not(:first-child) {
  color: red;
}

.title {
  padding-top: 80px;
}

.horizontal-line {
  width: 90%;
  margin: auto;
  border-top: 1px solid #cccccc;
  position: relative;
  top: -20;
}
<div class="container">
  <div class="title"></div>
  <div class="horizontal-line"></div>
  <ul id="ul_top">
    <li>text1</li>
    <li>text2</li>
    <li>text3</li>
    <li>text4</li>
    <li>text5</li>
    <li>text6</li>
  </ul>
</div>