定位
左右分别向左右定位,中间盒子不定位,设置margin/padding,这样,左右的两个盒子不占位置
<!-- 定位方式 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<div class="content">
<div class="left"></div>
<div class="center"></div>
<div class="right"></div>
</div>
</body>
</html>
<style>
.content {
height: 200px;
position: relative;
}
.center {
margin: 0px 200px;
height: 200px;
background-color: lightsalmon;
}
.left,
.right {
position: absolute;
top: 0px;
width: 200px;
height: 200px;
background-color: lightpink;
}
.left {
left: 0px;
}
.right {
right: 0px;
}
</style>
浮动加calc
浮动就都在一层上,则是从左向右排列的,左右写死宽度,中间的用calc进行计算
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<div class="content">
<div class="left"></div>
<div class="center"></div>
<div class="right"></div>
</div>
</body>
</html>
<style>
.content {
height: 200px;
}
.left,
.right,
.center {
height: 200px;
float: left;
}
.left,
.right {
width: 200px;
background-color: lightseagreen;
height: 200px;
}
.center {
background-color: lightskyblue;
width: calc(100% - 400px);
}
</style>
弹性盒子
中间盒子设置flex:1
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<div class="content">
<div class="left"></div>
<div class="center"></div>
<div class="right"></div>
</div>
</body>
</html>
<style>
.content {
height: 200px;
display: flex;
}
.right,
.left {
height: 200px;
width: 200px;
background-color: lightpink;
}
.center {
height: 200px;
flex: 1;
background-color: lightseagreen;
}
</style>