方法1:左侧使用float,右侧margin-left
原理:因为float
就脱离文档流了,右侧会挤到左侧的位置上,所以需要margin-left
,margin-left
要等于float
的宽度。
<style>
* {
box-sizing: border-box;
}
html, body {
margin: 0;
height: 100%;
}
div {
height: 100%;
}
.aside {
width: 300px;
float: left;
background: lightyellow;
}
.main {
background: lightseagreen;
margin-left: 300px;
}
</style>
<body>
<div class="aside"></div>
<div class="main"></div>
</body>
方法2:左侧使用float,右侧BFC
原理:> BFC区域不会与float box重叠
<style>
div {
height: 500px;
}
.aside {
width: 300px;
float: left;
background: lightyellow;
}
.main {
overflow: hidden;
background: lightblue;
}
</style>
<body>
<div class="aside"></div>
<div class="main"></div>
</body>
方法3:Flex布局
<style>
html,
body {
height: 100%;
margin: 0;
}
div {
height: 100%;
}
.container {
display: flex;
}
.left {
flex: 0 0 200px;
background: lightgreen;
}
.right {
background: lightblue;
flex: 1 0 auto;
}
</style>
<body>
<div class="container">
<div class="left">hello</div>
<div class="right">world</div>
</div>
</body>