html - 浮元素之谜

标签 html css

我有以下标记:

<div id="container">
  <div id="sidebar">
    <h2>Sidebar</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod</p>
  </div>
  <div id="main">
    <h2>Main</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod</p>
  </div>
</div>

以及以下样式:

#sidebar {
   background: #e3e3e3;
   float: left;
}
#main {
   background: #666;
}

我希望带有 id sidebar 的 div 位于顶部并隐藏带有 id main 的 div。我的逻辑是 - 带有 id sidebar 的 div 是 float 的,并从正常流中删除,因此带有 id main 的 div 应该占据它的位置。但是所有浏览器都在带有 id sidebar 的 div 下方显示带有 id main 的 div,就好像没有 float 一样。

最佳答案

您需要清除 #sidebar 之后的 float

HTML:

<div id="sidebar">
    ....
</div>
<div class="clr"></div>
<div id="main">
    ....
</div>

CSS:

.clr{clear:both;}

DEMO here.

关于html - 浮元素之谜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20943244/

相关文章:

php - xampp 中的样式与我桌面上的文件不同?

java - 如何在 JavaFX 中的 Accordion 中的 TitledPanes 之间添加填充

jquery - CSS - 多个分段控件失败

jquery sortable with inline-block display 显示划痕

javascript - jQuery ().on 语法

jquery - Rails,单击时更改 HTML 元素的类属性

html - PrimeNG 表 [rowHovered] 不适用于设置了单元格背景的单元格

html - 如何使用 HTML/CSS 创建响应式导航?

javascript - 使用单一功能全屏制作多张图片

javascript - 在 javascript 中输出 console.log 时遇到问题