html - flexbox 元素不会到达容器的末尾

标签 html css flexbox

嘿伙计们,我不确定我做错了什么,但是当我使用 justify-content: space-between; 时,我希望第 3 个 li 元素(输入)到达容器的末尾; - 没有任何反应,我已经尝试对齐它们,但仍然没有。 enter image description here

nav {
  width: 100%;
  background-color: black;
  padding-left: 30px;
  padding-right: 10px;
}

.navContact {
  margin-left: auto;
}

.navbar {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.mainNav {
  display: flex;
}

.navitem a {
  color: white;
  text-decoration: none;
  border-right: 2px solid rgb(255, 123, 0);
  padding: 10px 15px;
}
<hr class="hrNav">
<nav class="navbar">
  <ul class="mainNav">
    <li class="navitem"><a href="#about">About me</a></li>
    <li class="navitem"><a href="#contact">Contact</a></li>
    <li class="navitem"><input type="text" placeholder="Search..."></li>
  </ul>
</nav>

最佳答案

可以在ulul的最后一项设置flex: 1,然后设置margin-left: auto 在最后一个 li 里面 ul 也是如此

*,
*::after,
*::before {
  box-sizing: border-box
}

nav {
  width: 100%;
  background-color: black;
  padding-left: 30px;
  padding-right: 10px;
  display: flex;
  justify-content: space-between;
}

.mainNav {
  display: flex;
  flex: 1;
}

.navitem a {
  color: white;
  text-decoration: none;
  border-right: 2px solid rgb(255, 123, 0);
  padding: 10px 15px;
}

.navitem:last-of-type {
  margin-left: auto
}
<hr class="hrNav">
<nav class="navbar">
  <ul class="mainNav">
    <li class="navitem"><a href="#about">About me</a></li>
    <li class="navitem"><a href="#contact">Contact</a></li>
    <li class="navitem"><input type="text" placeholder="Search..."></li>
  </ul>
</nav>

关于html - flexbox 元素不会到达容器的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59004027/

相关文章:

css - 让 CSS 只适用于 Opera 11?

php - 在两个 PHP 页面之间创建一个加载页面

css - 在 Ionic 3 中将图标垂直对齐到文本

html - 使用 CSS 删除 Bootstrap 中 navbar-toggler 汉堡包图标的边框颜色

javascript - 表格单元格的总计值,但每行仅允许一个值

javascript - 访问后不要更改表格行的颜色

javascript - 无法使用 semantic-ui 表进行表行选择

php联系表格电子邮件信息

html - 悬停在 flexbox 单元格(嵌套)上的 css flexbox 网格可以工作也不能工作

html - 在 CSS3 中实现动态列