中间定宽,两边自适应布局的三种实现方法

中间定宽,两边自适应布局的三种实现方法

1. 浮动加定位

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>中间定宽,两边自适应</title>
	<style type="text/css">
	html,body,div{
     	height: 100%;
	}
	.parent{
		position: relative;
		overflow: hidden;
	}
	.left{
		float: left;
		 50%; 
		margin-left: -150px;
		background-color: red;
	}
	.right{
		 float: right;
		 50%; 
		margin-right: -150px;
		background-color: yellow;
	}
	.center{
		position: absolute;
		left:50%;
		transform:translateX(-50%);
         300px;
		background-color: green;
	}
	.left .item{
		margin-left: 150px;
	}	
	.right .item{
		margin-right: 150px;
	}	
	</style>

</head>
<body>
    <div class="parent">
	<div class="left">
		<div class="item"></div>
	</div>
	<div class="right">
		<div class="item"></div>
	</div>
	<div class="center">
		<div class="item"></div>
	</div>

	</div>
</body>
</html>

2. calc计算法

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>中间定宽,两边自适应</title>
	<style type="text/css">
	html,body,div{
     	height: 100%;
	}
	.left{
		 calc(50% - 150px);
		float: left;
		background-color: red;
	}
	.right{
		 calc(50% - 150px);
		float: right;
		background-color: yellow;
	}
	.center{
         300px;
        float: left;
		background-color: green;
	}
/*也可以将这三个div设置成display:inline-block,这样就不浮动了*/
	</style>
</head>
<body>
	<div class="left"></div>
	<div class="center"></div>
	<div class="right"></div>
</body>
</html>

3. 弹性盒子法

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>中间定宽,两边自适应</title>
	<style type="text/css">
	html,body,div{
     	height: 100%;
	}
	.parent{
		display: flex;
	}
	.left{
		flex:1;
		background-color: red;
	}
	.right{
		flex:1;
		background-color: yellow;
	}
	.center{
       
         300px;
		background-color: green;
	}

	</style>
</head>
<body>
    <div class="parent">
	<div class="left"></div>
	<div class="center"></div>
	<div class="right"></div>
	</div>
</body>
</html>
原文地址:https://www.cnblogs.com/bluey/p/6476720.html