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

如果不使用position:absolute定位,而采用float:left,为什么左栏会被挤到下面?

<!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; margin:0 auto; background:#ccc;}

.main{height:800px;margin:0 auto; background:red; position:relative;}

.left{width:200px; height:100%; background:blue; position:absolute; left:0; top:0;}

.right{height:100%; margin-left:210px; background:green;}

.foot{height:70px; margin:0 auto; background:orange;}

</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>

http://img1.sycdn.imooc.com//56f5772e0001a72219170898.jpg

正在回答

2 回答

.right{}里面写了一个margin-left:210px;元素左外边距210px,相当于这个.right{}占用了所有的.main{}空间元素

.left{}里面加上浮动是对于有空间而言的,所以只能在下面。如果使用绝对定位,就没问题了


1 回复 有任何疑惑可以回复我~
#1

木又寸丅王元l司学 提问者

非常感谢!
2016-03-26 回复 有任何疑惑可以回复我~

因为right这个div块是先加载的,所以左栏只能后来居上了


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

慕盖茨5114537

问题是left的div块是先加载的话,也只是右边的跑到下面而已
2016-04-11 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

如果不使用position:absolute定位,而采用float:left,为什么左栏会被挤到下面?

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