为了账号安全,请及时绑定邮箱和手机立即绑定

关于margin的问题,希望给出准确的答案

<!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>混合布局编程挑战</title>
<style type="text/css">
body{ margin:0; padding:0; font-size:30px; color:#fff}
.top{height:100px; background-color: #FC0;}
.main{height:500px; background-color: #f00;}
.left{height:500px; width: 200px; background-color: blue;position: absolute;top: 100px; left: 0px;}
.right{height: 500px; margin-left: 210px;background-color: #9C9; }
.foot{height: 60px;background-color: #FF5;}
</style>

</head>

<body>
<div class="top">top</div>
<div class="main">
    <div class="right">right</div>
    <div class="left">left</div>
</div>
<div class="foot">foot</div>

</body>
</html>

上面right里面的margin-left是说这个div跟父div之间的左外边距,可是left是跟right相邻的div,为什么不是margin-left为10px

正在回答

1 回答

<div class="main">
    <div class="right">right</div>
    <div class="left">left</div>
</div>

html结构中,right在前,left在后。

如果left不加浮动属性的话,可以看到,left是在right下面的,

回到问题来,right的左边不是left,而且父div。所以margin-left的属性不是相对于left的做的作用,所以仅10px是不够的。


测试一下,

在代码中注释left的div,你会看到margin-left为210的right位置没有变化,为什么?因为他的位置和left没有关系

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
如何用CSS进行网页布局
  • 参与学习       209624    人
  • 解答问题       1153    个

用最简洁的案例教你布局的那些知识,这是前端工程师基本技能

进入课程

关于margin的问题,希望给出准确的答案

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信