为何一个层position:absoulte的时候,margin-bottom没有效果,而margin-left,right,top都有用的

sf304350726 2012-05-17 10:44:50
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<style>
*{margin:0;padding:0;}
div.box-in{background:#ccc;width:100%;height:2000px;margin:300px;position:absolute;left:0;top:0;}
</style>
<body>

<div class="box-in"></div>

</body>
</html>

代码是上诉所示,大家可以测试一下,,为何margin-bottom没有实现呢。希望大家能告诉在下一下
...全文
462 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hotsaysauce2 2012-07-09
  • 打赏
  • 举报
回复
正如6楼说的 都absolute 只能通过left,right,top,bottom去调试 但是个人不主张经常使用absolute,如果中间要添加显示的话,那么几乎所有被定义的过的css都得改,除非所有都定义成absolute
所以向那种图片需要叠加的 可以使用z-index解决
strive_game 2012-05-28
  • 打赏
  • 举报
回复
都用absolute定位了,为什么还用margin。不过ie9表示margin还是起作用了,只是bottom和right哪来的参照物啊?所以只有top和left有300px的外边距。
JJYY0088 2012-05-25
  • 打赏
  • 举报
回复
当一个对象的宽高度 仍然小于父窗体时

margin 以top left 为基准,你设置 right bottom 也没用

这个想象一下就明白,如果能生效,那么 margin-top ... ,它还能=300px !!!
sf304350726 2012-05-24
  • 打赏
  • 举报
回复
没有高手能解答我这个问题么?
d945332077 2012-05-17
  • 打赏
  • 举报
回复
其实 好像我觉得我说得还是不明白 哎呀 反正你绝对定位过后就不要用把top和margin-top这一起用 用了就不对
d945332077 2012-05-17
  • 打赏
  • 举报
回复
我好像说的不够明显 因为你后面的top:0,left:0设置了 把前面的覆盖了 所以没有效果 你懂了吧?
d945332077 2012-05-17
  • 打赏
  • 举报
回复
你都绝对定位了 margin是没有了,你直接bottom就可以了 你而且设置了top:0 肯定就是距离上面为0了撒 left为0了撒 absolute是相对于父元素或者更高元素为position:relative的位置,如果没有就相对于body 所以 你懂的 还不明白加我QQ吧 945332077

61,115

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧