首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >css -如何在水平<ul>中定位<li>?

css -如何在水平<ul>中定位<li>?
EN

Stack Overflow用户
提问于 2018-06-06 05:07:02
回答 2查看 2K关注 0票数 2

我有section,它包含水平ul,它包含四个li,如下所示:

代码语言:javascript
复制
#header-strip ul {
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    height: 4vh;
    width: 100%;
    background-color: grey;
    list-style-type: none;
}

#header-strip li {
  display: inline;
}
代码语言:javascript
复制
<section id="header-strip">
    <ul>
      <li>meant to be left</li
      ><li>meant to be centered</li
      ><li>meant to be just before last</li
      ><li>meant to be right</li
      >
    </ul>
  </section>

要求:

  • 左侧的第一个项目,屏幕边缘有较小的百分比偏移
  • 第二个项目居中在中间
  • 第三个项目在右侧,与右侧的fourth
  • fourth项目之间有一些百分比空间,与屏幕边缘

的百分比偏移

我可以用基本的justify-content: space-between;来定位li,但不知道如何以自定义的方式定位它。

它应该看起来像这样:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-06 05:10:14

只需更改第二个元素的页边距并将其设置为auto

顺便说一句:使用flexbox,您不需要担心空白,也不需要将元素定义为inline

代码语言:javascript
复制
#header-strip ul {
  display: flex;
  margin: 0;
  padding: 0;
  color:#ffff;
  width: 100%;
  background-color: grey;
  list-style-type: none;
}

#header-strip li {
 margin:0 2%;
}

#header-strip li:nth-child(2) {
  margin: auto;
}
代码语言:javascript
复制
<section id="header-strip">
  <ul>
    <li>A</li>
    <li>B</li>
    <li>C</li>
    <li>D</li>

  </ul>
</section>

票数 3
EN

Stack Overflow用户

发布于 2018-06-06 05:20:18

如果您使用的是flexbox:

代码语言:javascript
复制
<section id="header-strip">
    <ul>
      <li>meant to be left</li
      ><li class="fill">meant to be centered</li
      ><li>meant to be just before last</li
      ><li>meant to be right</li
      >
    </ul>
  </section>

//css

代码语言:javascript
复制
.fill {
    flex-grow: 2;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50708939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档