首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“margin top:auto”不起作用

“margin top:auto”不起作用
EN

Stack Overflow用户
提问于 2012-01-03 18:43:44
回答 1查看 503关注 0票数 0
代码语言:javascript
复制
<div id="home">
    <div id="fix">aaa<br />fff</div>
    <div id="text">bvvvbbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb  </div>
</div>
代码语言:javascript
复制
#fix {
    width: 500px;
    position: fixed;
    background-color: blue;
    top:0;
    left:0;
}
#text {
    background-color: green;
    margin-top:auto;  
    width: 500px;
    height: 700px;
}

为什么margin-top在本例中不起作用?

(在div#fix中,数据是用PHP自动生成的。)

演示:http://jsfiddle.net/uK2RK/9/

编辑:现在div#fix封面到div#text。我可以设置边距顶部,但我不知道有多少行,但这是用PHP自动生成的。

EN

回答 1

Stack Overflow用户

发布于 2012-01-03 18:50:43

它的工作方式就像它应该的那样(你没有说你认为它应该如何工作)。

根据CSS 2.1 specification的第10.6.3节,在使用overflow: visible (默认值)的普通流(# margin-top是#text )中的块级未替换元素(比如div)上,如果文本的值为auto,则将其视为margin-top: 0

因此,该元素的位置离正常流中前一个元素的底部0个像素(除非有其他页边距/填充,但实际上没有)。由于之前唯一的元素(# position: fixed )是position: fixed,因此不在正常的流程中,所以没有这样的元素,所以#text被放置在距离其容器(#home)顶部0像素的地方。这个位置恰好在#fix下面。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8711026

复制
相关文章

相似问题

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