css - 保持 css float 水平对齐

标签 css css-float

为什么右边的div浮得比左边的两个div高?我怎样才能让它们全部对齐到顶部?

HTML

 <header>
  <div class="nav" style="width:100%;border:#900 thin solid;">


 <ul id='nav-left' style="list-style-type:none;float:left;width:30%;">
 <li class='nav-link'><a href="/bestsellers">Bookstore</a></li>
 <li class='nav-link'><a href="/authors">Authors</a></li>
 </ul>


 <h1 class='nav-logo' style="width:30%;float:left;background-image:url();">
  <a href="#">Logo</a>
 </h1>


 <div class='nav-right'  style="width:30%;float:right;">
<li class='nav-link'><a href="/bestsellers">Sign in</a></li>
<li class='nav-link'><a href="/authors">Sign up</a></li>
</div>
 <div style="clear:both;">

参见 fiddle http://jsfiddle.net/e6h3jyb4/

最佳答案

您有 li 元素未包含在 ul 元素中。如果将这些 li 元素包装在 ul 中,那么应该可以解决对齐问题。此外,我建议您将所有列设为 float: left。最后一列是 float: right,因为每列的宽度都是 30%,最后两列之间会有很大的边距。您还可以通过将宽度设为 33.33% 来解决此问题,使其更接近 1/3 而没有任何剩余边距。

关于css - 保持 css float 水平对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28616973/

相关文章:

javascript - 设置为 100% 高度的 div 在滚动时不会增长

javascript - 带有单独选择菜单切换的 HTML 下拉菜单

css - 如何居中 float div?

css - 为什么 float :left required in navigation to keep text center when position:absolute applied to header?

javascript - mouseover() mouseout() jQuery 添加/删除类问题

css 在 IE 中工作但在 firefox 中不工作?

html - 如何背景附件: fixed to a div not viewport

css - 为 div 容器强制清除流

CSS:通过类使用时 float 不适用

javascript - 在 HTML 中构建一个巨大的 div 二维网格