首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >css浮动的意外行为

css浮动的意外行为
EN

Stack Overflow用户
提问于 2013-05-15 15:30:17
回答 4查看 112关注 0票数 2

这是我的jsFiddle

我只有三个divs,第二个div在右边,第三个div就在第二个下面。

在第三个div中,我设置了margin-top属性,该属性对布局没有任何影响。

问:有人能解释我理解浮子的行为吗?

代码语言:javascript
复制
<div class="header">
</div>
<div class="sidebar">
</div>
<div class="footer">
</div>

CSS

代码语言:javascript
复制
.header {
    width: 100%;
    height: 80px;
    background-color: #abcdef;
}

.sidebar {
    margin-top: 15px;
    float: right;
    width: 200px;
    height: 200px;
    background-color: #abcdef;
    display: block;
}

.footer {
    clear: both;
    margin-top: 20px;
    width: 100%;
    height: 60px;
    background-color: #000000;
}
EN

Stack Overflow用户

回答已采纳

发布于 2013-05-15 15:34:18

这一点也不出乎意料。.sidebar通过其float属性从常规流布局中删除,因此不再占用任何空间。.footer有一个clear规则,所以它在任何浮动之下都是强制的,但这会自动地将它放在最后一个元素后面,即是流布局的部分。因此,它的20 at的裕度要求完全满足,并出现在它的逻辑当前位置。您可以通过将上边距设置为220 5px来验证这一点,它将出现在侧栏下面的5 5px (220-215)。

您可以很容易地通过将margin-bottom:20px放在侧边栏上来实现您想要的效果,因为它将被要求保持与页脚的距离,并将其向下推。

票数 5
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16569198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档