04-双飞翼布局
2019-07-19 本文已影响0人
博行天下
圣杯布局和双飞翼布局其实本质是一样的,区别请看下面代码分析
一、 html结构:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-
scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>双飞翼布局</title>
<style>
</style>
</head>
<body>
<div class="container">
<div class="main">
<div class="main-content">中间内容</div>
</div>
<div class="left">left</div>
<div class="right">right</div>
</div>
</body>
</html>
二、CSS样式
(1)定义容器样式
body{
padding: 0;
margin: 0;
text-align: center;
height: 200px;
line-height: 200px;
}
.container{
min-width:400px;
height:200px;
background-color: blue;
}
.left,.right{
width:200px;
height:200px;
background-color: green;
float: left;
}
.main{
width:100%;
height:200px;
background-color: red;
float: left;
}
在浏览器中的效果:

(2)为父容器container添加margin
.main-content{
margin: 0 200px;
}

(3).left的移动(重点)
.left{
margin-left:-100%;
}

(4).right的移动
.right{
margin-left: -200px;
}

不会直接移动到蓝色框和上面的.left是同样的原因。 接下来我们为.right添加margin-left:-200px的样式:
.right{
margin-left: -200px; position: relative; //新加样式
}
在浏览器中的效果:

所有实现代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-
scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
body{
padding: 0;
margin: 0;
}
.container{
min-width:400px;
height:200px;
background-color: blue;
}
.left,.right{
width:200px;
height:200px;
background-color: green;
float: left;
}
.main{
width:100%;
height:200px;
background-color: red;
float: left;
}
.left{
margin-left:-100%;
}
.right{
margin-left: -200px;
}
.main-content{
margin: 0 200px;
}
</style>
</head>
<body>
<div class="container">
<div class="main">
<div class="main-content">中间内容</div>
</div>
<div class="left">left</div>
<div class="right">right</div>
</div>
</body>
</html>
喜欢的关注下公众号哦,每天都有新的博文推送哦
