html - 奇怪的布局行为

标签 html css layout css-float

我有点懵。这是一个小网页。 有两个主要的 div-s:top 和 mainBlock。
首先包含一个图像。问题是 Firebug 显示 div#top 的高度等于 0,因此下一个 div mainBlock 向上移动。如果我删除这段代码:

div#logo{
    float: left;
} 

一切都会开始正常工作,div#mainBlock 将低于 div#top。能否请您解释一下它是如何工作的以及如何以正确的方式避免这种情况?

这是我的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Paralab - Website &amp; interface design, web apps development, usability</title>
<style text="text/css">
html, body{
}
div#logo{
    float: left;
}
#top{
  width: 100%;
}
#mainBlock{
  width:100%;
}
</style>
</head>
<body>
    <div id="top">
        <div id="logo">
            <img alt="logo"  src="img/logo.png" />
        </div>
    </div>
    <div id="mainBlock">
        Contact Us
    </div>
</body>
</html>

最佳答案

您需要清除 float 。有几种方法可以做到这一点,我会看看这个 article on QuirksMode about clearing floats了解更多信息。

关于html - 奇怪的布局行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3001362/

相关文章:

javascript - 单击两个表格单元格突出显示其内容并将其值存储在变量中

javascript - 随着分数不断点击更改图像

python - 如何使用 django 上的按钮 id 在 bootstrap 模式上显示数据库中的动态内容

jquery - $.get() 在 .each() 循环中,获取 $.get 中的 $(this)

android - 如何连接布局 View 和 Activity

css - 奇怪的三个 div 并排

javascript - 如何围绕鼠标光标创建形状?

javascript - 如何让 JavaScript 在一系列图像中旋转

javascript - Bootstrap 3 调整表数据和输入字段

iphone - UICollectionView 报纸状布局