两列布局的要求
左边固定,中间自适应
给中间的body设置一个宽度
BFC布局布局规则
内部的Box会在重叠方向,一个接一个地放置。
BFC的区域不会与float box重叠。
内部的Box垂直方向的距离由margin决定,
属于同一个BFC的两个相邻的Box的margin会发生重叠。
计算BFC的高度时,浮动元素也参与计算。(清除浮动 haslayout)
BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外部的元素。
BFC什么时候出现(哪些元素会生成BFC?)
根元素
float 属性不为 none
position 为 absolute 或 fixed
overflow 不为 visible
display 为 inline-block,table-cell,table-caption,flex,inline-flex
代码实现
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>两列布局</title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
body{
min-width: 600px;
}
div{
height: 200px;
}
#left{
widows: 200px;
background: pink;
}
#right{
background: deeppink;
}
</style>
</head>
<body>
<div id="left">left</div>
<div id="right">right</div>
</body>
</html>