水平居中
text-align
在父元素上设置text-align: center 使文字/图片水平居中。
.container {
text-align: center;
}
margin
.container {
width: 80%;
margin:0 auto;
}
水平垂直居中
paddin + text-align:center;(子元素不是块级元素的情况下)
//HTML
<div class="ct">
<p>这里是饥人谷</p>
<p>这里是饥人谷</p>
</div>
//CSS
.ct{
padding: 40px 0;
text-align: center;
background:#ddd;
}
效果图:
padding+text-align:center父元素不写高的情况下padding + margin(子元素是块级元素情况)
<div class="box">
<div class="xx"></div>
</div>
.xx{
width:100px;
height:100px;
background:#000;
margin:0 auto;
}
.box{
width:200px;
background:#ccc;
padding:20px 0;
}
position+margn:auto实现居中:
//HTML
<body>
<div class="box">
<div class="xx"></div>
</div>
</body>
//CSS
.box{
width:200px;
height:200px;
background:#ccc;
position:relative;
}
.xx{
width:100px;
height:100px;
background:#000;
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
margin:auto;
}
position:absolute
position + transform:translate实现居中:
//HTML
<body>
<div class="box">
<div class="xx"></div>
</div>
</body>
//CSS
.xx{
width:100px;
height:100px;
background:#000;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%)
}
.box{
width:200px;
height:200px;
background:#ccc;
position:relative;
}
效果图:
transform:translatetable-cell实现居中
//HTML
<body>
<div class="box">
<div class="xx"></div>
</div>
</body>
//CSS
.box{
width: 300px;
height: 200px;
border: 1px solid ;
display: table-cell;
vertical-align: middle;
}
.xx{
width: 100px;
border:1px solid;
margin:0 atuo;
}
效果图
display: flex
//HTML
<body>
<div class="box">
[图片上传失败...(image-cfdd76-1524486725573)]
</div>
</body>
//CSS
.box{
width: 300px;
height: 200px;
border: 1px solid ;
display: flex;/* 弹性布局 */
justify-content:center;/* 水平居中 */
align-items:center;/* 垂直居中 */
}
.box img{
width: 100px;
border:1px solid;
}
效果图
display:flex
网友评论