实现div水平、垂直居中的几种方法
2016-12-28 15:10
821 查看
1、最常用的,也是最简单的(利用position定位、再用margin偏移)
2、利用css3新增属性弹性盒子align-items和justify-content(会存在一些兼容性问题,没关系,以后肯定会兼容的)
这种方法还有一个好处:就算不给里层容器定义宽高,也会根据文本内容自动居中
![](https://img-blog.csdn.net/20161228150931203?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvVGFrZV9EcmVhbV9hc19Ib3JzZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3、这里扩充一下flex的盒子布局
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>实现div水平垂直居中</title>
<style type="text/css">
.bg{
display: flex;
width:500px;
height: 500px;
margin:0 auto;
background: #272822;
-webkit-align-items: center;
align-items: center;
justify-content: center;
}
.test{
height: 100px;
background: #27399a;
margin-left: 10px;
}
.test:nth-child(1){
flex:1;
}
.test:nth-child(2){
flex:2;
background: #a6e22e;
}
.test:nth-child(3){
flex:1;
background: #48beef;
margin-right: 10px;
}
</style>
</head>
<body>
<div class="bg">
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
</div>
</body>
</html>
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>实现div水平垂直居中</title> <style type="text/css"> body{ background: #272822; } .test{ position: absolute; top:50%; left:50%; width: 100px; height: 100px; margin:-50px 0 0 -50px; background: #27399a; } </style> </head> <body> <div class="test"></div> </body> </html>
2、利用css3新增属性弹性盒子align-items和justify-content(会存在一些兼容性问题,没关系,以后肯定会兼容的)
这种方法还有一个好处:就算不给里层容器定义宽高,也会根据文本内容自动居中
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>实现div水平垂直居中</title> <style type="text/css"> .bg{ display: flex; width:500px; height: 500px; margin:0 auto; background: #272822; -webkit-align-items: center; align-items: center; justify-content: center; } .test{ /*width: 100px; height: 100px;*/ background: #27399a; color:#fff; } </style> </head> <body> <div class="bg"> <div class="test">aaaaaaaaaaaaaa</div> </div> </body> </html>
3、这里扩充一下flex的盒子布局
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>实现div水平垂直居中</title>
<style type="text/css">
.bg{
display: flex;
width:500px;
height: 500px;
margin:0 auto;
background: #272822;
-webkit-align-items: center;
align-items: center;
justify-content: center;
}
.test{
height: 100px;
background: #27399a;
margin-left: 10px;
}
.test:nth-child(1){
flex:1;
}
.test:nth-child(2){
flex:2;
background: #a6e22e;
}
.test:nth-child(3){
flex:1;
background: #48beef;
margin-right: 10px;
}
</style>
</head>
<body>
<div class="bg">
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
</div>
</body>
</html>
相关文章推荐
- css实现水平垂直居中的几种方法
- html中div如何水平和垂直居中的几种css方法代码
- 总结div里面水平垂直居中的实现方法
- div盒子水平居中垂直居中的几种方法
- div垂直和水平居中的几种方法
- CSS实现水平垂直居中的几种方法
- 用css实现垂直水平居中的几种方法
- 让Div实现水平或垂直居中的相关方法
- 纯css多种方法实现div中单行文字、多行文字及嵌套div垂直水平居中
- 让DIV水平和垂直居中的几种方法
- 让DIV水平和垂直居中的几种方法
- 小div在大div里面水平垂直都居中的实现方法
- <img>等标签在指定容器中水平垂直居中的几种实现方法
- css实现div的水平垂直居中方法
- 使用纯CSS实现未知尺寸的图片(但高宽都小于500px)在500px的正方形容器中水平和垂直居中。你有几种方法?
- div盒子在页面中水平垂直居中的几种方法。
- css实现水平、垂直居中的几种方法
- 实现文本垂直居中水平居中的几种方法
- 【前端】几种实现水平垂直居中的方法总结
- 【css】实现垂直水平居中的几种方法