两种布局 块级格式上下文
两种经典布局
圣杯布局
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
*{
margin:0;
padding:0;
}
body{
min-width:600px;
}
.container{
height:500px;
padding:0 200px;
box-sizing: border-box;
}
.container>div{
height:100%;
float:left;
}
.main{
width:100%;
background:pink;
}
.left{
width:200px;
background:lightblue;
margin-left:-100%;
position:relative;
left:-200px;
}
.right{
width:200px;
background:lawngreen;
margin-left:-200px;
position:relative;
left:200px;
}
</style>
</head>
<body>
<div class="container">
<div class="main">main</div>
<div class="left">left</div>
<div class="right">right</div>
</div>
</body>
</html>
复制代码
双飞翼布局
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
*{
margin:0;
padding:0;
}
body{
min-width:600px;
}
.contain{
height:500px;
}
.contain>div{
height:100%;
float:left;
}
.main{
width:100%;
padding:0 200px;
background:pink;
box-sizing: border-box;
}
.left{
width:200px;
background:green;
margin-left:-100%;
}
.right{
width:200px;
background:hotpink;
margin-left:-200px;
}
</style>
</head>
<body>
<div class="contain">
<div class="main">
<div class="inner">
inner
</div>
</div>
<div class="left">left</div>
<div class="right">right</div>
</div>
</body>
</html>
复制代码
块级格式上下文
定义: 块级格式上下文全称Block Formatting Contexts ,简称BFC,它是一块独立的渲染区域,它规定了在该区域中,常规流块盒的布局。不同的BFC它们在进行渲染时互不干扰
- 常规流块盒,在水平方向上,必须撑满包含块(也就是继承父级的宽度)
- 常规流块盒,在排列方式上,是上下排列(块级元素的特点)
- 常规流块盒,如果无缝相邻,则进行外边距合并(margin值穿透)
- 常规流块盒的自动高度和摆放位置,会无视浮动元素
BFC 产生的条件
- 根元素:html
- 浮动和定位的元素(定位固定定位和绝对定位)
- overflow 不等于visible
- display 为以下其中之一的值 inline-block,table-cell,table-caption;
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END