为什么left和right不在同一水平上?
为什么left和right不在同一水平上?
为什么left和right不在同一水平上?
2019-08-02
<!DOCTYPE html> <html> <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: #ccc } .left { width: 200px; height: 500px; background: blue; } .right { position: absolute; left: 210px; right: 0; height: 500px; background: #9C9; } .foot { height: 50px; background: #F63 } </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>
<!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{width:100%;height:100px; background:#ccc;}
.main{width:100%;height:600px; background:red;}
.left{height:600px;width:29%;background:blue; float:left;}
.right{height:600px;width:70%;background:green; float:right;}
.foot{width:100%;height:50px;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>
因为是先加载right后加载left,right没有浮动,因此要占一整行,left就被挤下去了。要达到效果可以把left变为绝对定位。代码如下
<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:gray;}
.main{ background:red;}
.left{height:500px; width:200px; background:blue; position:absolute; top:100px; left:0;}
.right{height:500px; margin-left:210px; background:green;}
.foot{height:50px; background:orange; clear:both;}
</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>
举报