总结css块级元素水平垂直居中方法
方法一:已知宽高
<style>
.wrapper{
width:500px;
height:500px;
border:1px solid #bbb;
position:relative; /*给父元素设置相对定位*/
}
.demo{
width:200px;
height:200px;
background:#ff6700;
position:absolute; /*给子元素设置绝对定位*/
top:50%;
margin-top:-100px;
left:50%;
margin-left:-100px;
}
</style>
</head>
<body>
<div class="wrapper">
<div class="demo">text</div>
</div>
</body>
方法二:文本居中 (块级元素转换行内块级元素/行内元素)
<style>
.wrapper{
width:500px;
height:500px;
border:1px solid #bbb;
line-height:500px;
text-align:center;
}
.demo{
width:200px;
height:200px;
background:#ff6700;
display:inline; /*设置成行内块级元素/行内元素*/
}
</style>
</head>
<body>
<div class="wrapper">
<div class="demo">text</div>
</div>
</body>
方法三:宽高不确定
<style>
.wrapper{
width:500px;
height:500px;
border:1px solid #bbb;
position:relative; /*给父元素设置相对定位*/
}
.demo{
width:200px;
height:200px;
background:#ff6700;
position:absolute; /*给子元素设置绝对定位*/
top:0;
bottom:0;
left:0;
right:0;
margin:auto;
}
</style>
</head>
<body>
<div class="wrapper">
<div class="demo">text</div>
</div>
</body>
方法四:宽高不确定
<style>
.wrapper{
width:500px;
height:500px;
border:1px solid #bbb;
position:relative; /*给父元素设置相对定位*/
}
.demo{
width:200px;
height:200px;
background:#ff6700;
position:absolute; /*给子元素设置绝对定位*/
top:50%;
left:50%;
transform:translate(-50%,-50%) /*css3属性*/
}
</style>
</head>
<body>
<div class="wrapper">
<div class="demo">text</div>
</div>
方法五
.wrapper{
width:500px;
height:500px;
border:1px solid #bbb;
display:flex; /*css3盒模型*/
justify-content: center;
align-items:center;
}
.demo{
width:200px;
height:200px;
background:#ff6700;
}
</style>
</head>
<body>
<div class="wrapper">
<div class="demo">text</div>
</div>