水平平均分布
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.container {
display: flex;
justify-content: space-between;
}
.item {
width: 200px;
height: 100px;
background-color: antiquewhite;
border: 1px solid;
}
</style>
</head>
<body>
<div class="container">
<div class="item">左侧内容</div>
<div class="item">中间内容</div>
<div class="item">右侧内容</div>
</div>
</body>
</html>
一左一右
将<div class="item">中间内容</div>注释掉
,只保留左右两个div:
还可以分别设置左右div的宽度:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.container {
display: flex;
justify-content: space-between;
}
.item {
width: 200px;
height: 100px;
background-color: antiquewhite;
border: 1px solid;
}
.left {
width: 30%;
}
.right {
width: 60%;
}
</style>
</head>
<body>
<div class="container">
<div class="item left">左侧内容</div>
<div class="item right">右侧内容</div>
</div>
</body>
</html>
水平居中
再item类中增加一条样式:
css
text-align: center;
则只能水平居中。
水平、垂直居中
使用Flex进行水平垂直居中,在item类中增加样式:
css
display: flex;
/* 水平居中 */
justify-content: center;
/* 垂直居中 */
align-items: center;
所以要让一个div里面的内容水平、垂直居中,可以将这个div变成flex布局,再设置justify-content和align-items属性。
垂直平均分布
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.container {
display: flex;
flex-direction: column;
justify-content: space-between;
}
.item {
width: 200px;
height: 100px;
background-color: antiquewhite;
border: 1px solid;
}
</style>
</head>
<body>
<div class="container">
<div class="item">上侧内容</div>
<div class="item">中间内容</div>
<div class="item">下侧内容</div>
</div>
</body>
</html>
则效果:
可以为container 类增加一个高度样式:
css
height: 500px;
则效果:
再在container类增加样式,使水平居中:
css
align-items: center;
效果图:
再在item类中增加样式,使各个小div中文本水平垂直居中:
css
display: flex;
justify-content: center;
align-items: center;
则效果: