菜单不会水平显示

时间:2017-06-10 12:19:09

标签: html css menu

我正在关注Foundation Top Bar的教程,当在浏览器(Firefox和Chrome)上运行代码时,它会垂直显示而不是水平显示。我已尝试使用显示设置,将其更改为内联和内联块,问题仍然存在。

因为它现在通过app.css文件没有覆盖CSS,只是在foundation.css文件中开箱即用的CSS。可能导致这种情况的任何想法?感谢

<div class="top-bar">
<div class class="top-bar-left">
<ul class="dropdown menu" data-dropdown-menu>
 <li class="menu-text">Site Title</li>
  <li>
    <a href="#">One</a>
    <ul class="menu vertical">
      <li><a href="#">One</a></li>
      <li><a href="#">Two</a></li>
      <li><a href="#">Three</a></li>
    </ul>
  </li>
  <li><a href="#">Two</a></li>
  <li><a href="#">Three</a></li>
</ul>
</div>
<div class="top-bar-right">
<ul class="menu">
  <li><input type="search" placeholder="Search"></li>
  <li><button type="button" class="button">Search</button></li>
</ul>
</div>
</div>

1 个答案:

答案 0 :(得分:1)

有多种方法可以做到这一点。例如,您可以使用内联,内联块或flexbox。您可以了解更多关于内联块和内联块here之间的区别,但我相信使用flexbox更方便灵活(没有双关语)。

内联:很可能不是最佳选择。

内联项目非常严格。它们仅支持margin-leftmargin-rightpadding-leftpadding-right。而且,它们没有高度。

内联块:更好的选择。

内联块项目支持marginpaddingwidthheight。它对垂直居中很有用。

虽然,您需要处理元素之间的空格。这有时会变得很痛苦。

花车:一个不错的选择。

许多布局框架都使用浮点数。它们非常方便,并且有很多文档,因为它们已经存在了一段时间。

Flexboxes :可能是目前最好的选择。

Flexboxes为您提供了很大的自由。他们支持上述所有内容,以及一些额外内容。

项目的顺序独立于来源。您可以直接在css中订购商品,这可能非常有用(例如,对于响应式布局)。它还支持等高。

不过,恕我直言,Flexbox有一个陡峭的学习曲线。语法不是很直观,你的模板有时可能会被很多包装div所臃肿。

&#13;
&#13;
/* Inline example */
.inline li {
    display: inline;
}


/* Inline-block example */
.inline-block li {
    display: inline;
}


/* Floats example */
.float li {
    float: left;
}


/* Flexboxes example */
.flexboxes ul {
    display: flex;
}

.flexboxes .menu-item {
    flex: 2;
}

.flexboxes .site-title {
    flex: 1;
}


/* Common */
ul {
  list-style-type: none;
}

div {
    width: 100%;
}

li {
    background-color: #ccc;
}
&#13;
<div class="inline">
  <ul>
    <li>Site Title</li>
    <li><a href="#">One</a></li>
    <li><a href="#">Two</a></li>
    <li><a href="#">Three</a></li>
  </ul>
</div>

<div class="inline-block">
  <ul>
    <li>Site Title</li>
    <li><a href="#">One</a></li>
    <li><a href="#">Two</a></li>
    <li><a href="#">Three</a></li>
  </ul>
</div>
<div class="float">
  <ul>
    <li class="site-title">Site Title</li>
    <li class="menu-item"><a href="#">One</a></li>
    <li class="menu-item"><a href="#">Two</a></li>
    <li class="menu-item"><a href="#">Three</a></li>
  </ul>
</div>
<br>
<div class="flexboxes">
  <ul>
    <li class="site-title">Site Title</li>
    <li class="menu-item"><a href="#">One</a></li>
    <li class="menu-item"><a href="#">Two</a></li>
    <li class="menu-item"><a href="#">Three</a></li>
  </ul>
</div>
&#13;
&#13;
&#13;