1、左中右三列布局=>方法一:calc+inline-block。
```html:run
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>左右固定宽,中间自适应</title>
<style type="text/css">
*{
margin:0;
padding:0;
}
.left{
width:200px;
height:500px;
display:inline-block;
background:green
}
.right{
width:200px;
height:500px;
display:inline-block;
background:green
}
.middle{
margin:0 10px;
width:calc(100% - 420px);
height:500px;
display:inline-block;
background:red
}
.fontSize0{
font-size: 0;
}
</style>
</head>
<body>
<div class="fontSize0">
<div class="left"></div>
<div class="middle"></div>
<div class="right"></div>
</div>
</body>
</html>
```
2、左中右三列布局=>方法一:双浮动+margin。
```html:run
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>左右固定宽,中间自适应</title>
<style type="text/css">
*{
margin:0;
padding:0;
}
.left{
width:200px;
height:500px;
float:left;
background:green
}
.right{
width:200px;
height:500px;
float:right;
background:green
}
.middle{
height:500px;
margin-left:210px;
margin-right:210px;
background:red
}
</style>
</head>
<body>
<div class="left"></div>
<div class="right"></div>
<div class="middle"></div>
</body>
</html>
```
3、左中右三列布局=>方法二:双定位+margin。
```html:run
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>左右固定宽,中间自适应</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
.left {
top: 0;
left: 0;
width: 200px;
height: 500px;
position: absolute;
background: green;
}
.middle {
height: 500px;
margin-left: 210px;
margin-right: 210px;
background: red;
}
.right {
top: 0;
right: 0;
width: 200px;
height: 500px;
position: absolute;
background: green;
}
</style>
</head>
<body>
<div class="left"></div>
<div class="middle"></div>
<div class="right"></div>
</body>
</html>
```
4、左中右三列布局=>方法三:三定位
```html:run
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>左右固定宽,中间自适应</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
.left {
top: 0;
left: 0;
width: 200px;
height: 500px;
position: absolute;
background: green;
}
.middle {
top: 0;
left: 210px;
right: 210px;
background: red;
height: 500px;
position: absolute;
}
.right {
top: 0;
right: 0;
width: 200px;
height: 500px;
position: absolute;
background: green;
}
</style>
</head>
<body>
<div class="left"></div>
<div class="middle"></div>
<div class="right"></div>
</body>
</html>
```
5、左中右三列布局=>方法四:flex。
```html:run
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>左右固定宽,中间自适应</title>
<style>
* {
margin: 0;
padding: 0;
}
.flex {
display: flex;
}
.left{
width: 200px;
height: 500px;
background: green;
}
.middle{
flex: 1;
margin:0 10px;
height: 500px;
background: red;
}
.right {
width: 200px;
height: 500px;
background: green;
}
</style>
</head>
<body>
<div class="flex">
<div class="left"></div>
<div class="middle"></div>
<div class="right"></div>
</div>
</body>
</html>
```
转载于:https://www.cnblogs.com/gushixianqiancheng/p/10967237.html