flex布局设置space-between(around)最后一行不左对齐问题

flex布局设置space-between(around)最后一行不左对齐问题

需求在项目布局上使用弹性布局,要求每个盒子两端要对齐,而且最后一行在列不满的情况下要求左对齐;
问题: 使用flex的设置justify-content为space-between;发现最后一行不能左对齐,而是两端对齐方式导致形成下图,
问题
方法:
一、添加几个空格子,格子高度为0

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>flex弹性布局</title>
	<style>
		.container {
			display: flex;
			justify-content: space-between;
			flex-wrap: wrap;
		}
		.box {
			width: 300px;
			height: 100px;
			background-color: red;
			margin-bottom: 10px;
		}
		.item-empty {
	        height: 0px;
	        width: 300px;
	      }
	</style>
</head>
<body>
	<div class="container">
		<div class="box">1</div>
		<div class="box">2</div>
		<div class="box">3</div>
		<div class="box">3</div>
		<div class="box">3</div>
		<div class="box">3</div>
		<div class="box">3</div>
		<div class="box">3</div>
		<div class="box">3</div>
		<div class="box">3</div>
		<div class="item-empty"></div>
        <div class="item-empty"></div>
	</div>
</body>
</html>

二、使用伪类after

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>flex弹性布局</title>
	<style>
		.container {
			display: flex;
			justify-content: space-between;
			flex-wrap: wrap;
		}
		.container:after{
			content:'';
			/*这个宽度和子元素宽度一致*/
			width: 480px;
			height: 0;
			display: block;
		}
		.box {
			width: 480px;
			height: 100px;
			background-color: red;
			margin-bottom: 10px;
		}
	</style>
</head>
<body>
	<div class="container">
		<div class="box">1</div>
		<div class="box">2</div>
		<div class="box">3</div>
		<div class="box">3</div>
		<div class="box">3</div>
		<div class="box">3</div>
		<div class="box">3</div>
		<div class="box">3</div>
		<div class="box">3</div>
		<div class="box">3</div>
		<div class="box">3</div>
	</div>
</body>
</html>


版权声明:本文为qq_44716411原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。