【问题标题】:Navigation using flexbox [duplicate]使用 flexbox 进行导航 [重复]
【发布时间】:2017-11-07 06:21:20
【问题描述】:

我遇到的一个问题是水平导航栏。我已经使用 flexbox 实现了它。

我有这个导航栏,当我缩小它时,列表项(有黑色边框)不会留在无序列表容器(有紫色边框)内

据我了解,每个 flex 框都应该使用 flex 属性在父容器中调整大小。但是在我的情况下,列表项没有在无序列表容器中调整大小。这是正在发生的事情的图片:

这是我的html代码:

nav.horizontalNavigation {
  width: 100%;
  padding: 0;
  clear: both;
}

nav.horizontalNavigation ul {
  display: flex;
  flex-flow: row nowrap;
  border: 3px solid purple;
  width: 100%;
  padding: 0;
  margin: 0;
}

nav.horizontalNavigation>ul li {
  display: flex;
  flex: 1 1 auto;
  border: 2px solid black;
  background-color: rgb(117, 140, 72);
  font-size: 1.3em;
  line-height: 2em;
  text-transform: uppercase;
  list-style-type: none;
}

nav.horizontalNavigation>ul li a {
  flex: 1 1 auto;
  display: block;
  padding-left: 10px;
  padding-right: 10px;
  color: white;
}
<header>

  <nav class="horizontalNavigation">
    <ul>
      <li><a href="#ll_home.html">HOME</a></li>
      <li><a href="#ll_services.html">SERVICES</a></li>
      <li><a href="#ll_commercial.html">COMMERCIAL & STRATA</a></li>
      <li><a href="#ll_contact.html">CONTACT US</a></li>
      <li><a href="#ll_gallery.html">GALLERY</a></li>
    </ul>
  </nav>

</header>

【问题讨论】:

  • 你根本没有足够的空间
  • @SergChernata 当您投票以欺骗者的身份结束时,您不应该以另一个欺骗者的身份结束 - 以最终目标的欺骗者的身份结束。

标签: html css flexbox


【解决方案1】:

检查一下,您没有足够的空间将所有内容放在一行中,因此您需要换行。

nav.horizontalNavigation {
  width: 100%;
  padding: 0;
  clear: both;
}

nav.horizontalNavigation ul {
  display: flex;
  flex-flow: row nowrap;
  border: 3px solid purple;
  width: 100%;
  padding: 0;
  margin: 0;
}

nav.horizontalNavigation>ul li {
  display: flex;
  flex: 1 1 auto;
  border: 2px solid black;
  background-color: rgb(117, 140, 72);
  font-size: 1.3em;
  max-width: 20%;
  line-height: 2em;
  text-transform: uppercase;
  list-style-type: none;
}

nav.horizontalNavigation>ul li a {
  flex: 1 1 auto;
  display: block;
  margin: auto;
  text-align: center;
  color: white;
}
<header>

  <nav class="horizontalNavigation">
    <ul>
      <li><a href="#ll_home.html">HOME</a></li>
      <li><a href="#ll_services.html">SERVICES</a></li>
      <li><a href="#ll_commercial.html">COMMERCIAL & STRATA</a></li>
      <li><a href="#ll_contact.html">CONTACT US</a></li>
      <li><a href="#ll_gallery.html">GALLERY</a></li>
    </ul>
  </nav>

</header>

【讨论】:

  • 如果我不想让它换行怎么办?我期待它保持在同一行并让每个列表项缩小以适应。我也希望文本会随着每个列表项而缩小。
  • 如果你没有足够的空间那么它看起来很丑,看看编辑后的版本
猜你喜欢
  • 2016-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多