哪位大神可以详细的解释一下,为什么被定位的div距离浏览器上边是15px,代码如下:

<body>
<div class="div1">已知div元素</div>
<div class="x">X元素</div>
</body>

css:

<style>
div{width:200px;margin: 0;padding: 0;}
div.div1{height:35px;background: pink;position: fixed; }
div.x{background: green;margin: 15px 0 0;height: 40px;}
</style>


shinexd
浏览 2251回答 5
5回答

weibo_哆啦A梦有大口袋_0

http://www.imooc.com/learn/95 通过看这节课程了解一下定位

肥仔汇

margin: 15px 0 0;你这一句只设置了三个 分别对应上 15px左右 0px下 0pxdiv1脱离文档流的你需要在.x中加入position:absolute这样的话div1就不会有上边距了修改后代码如下<style> div{width:200px;margin: 0;padding: 0;} .div1{height:35px;background: pink;position: fixed; } .x{background: green; margin: 15px 0 0;height: 40px; position: absolute;} </style>

加入滚烫开水

当absolute 或 fixed,没给left top这些定位的话,会保持在原位置。基本的定位大家都会,想深入理解可以看 http://www.imooc.com/learn/192

小尧

body默认没有高度,它根据里面的内容撑开高度,div1脱离文档流,x是标准流、上边距为15px,body根据第一个标准流撑开高度,随x上边距为15px,fixed定位没有设置top/bottom/left/right偏移量定位时,被父层body包含随body位置,当设置了偏移量,则以html为基准偏移,楼主并没有设置偏移量,因此div1随body上边距为15px。

Super_Scholar

body的margin-top=0;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

CSS3
Html5