求总结下css中让单行,多行文字,图片,<div></div>,<div><div></div></div>里的div垂直居中的方法
2017-12-02 · 百度知道合伙人官方认证企业
一行文字垂直居中:利用line-height来设置
多行文字垂直居中:利用display:table-cell来设置。
代码以及效果:
图片垂直居中:使用绝对定位和transform
代码以及效果:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style>
#box {
width: 300px;
height: 300px;
background: #ddd;
position: relative;
}
#child {
background: #93BC49;
position: absolute;
top: 50%;
transform: translate(0, -50%);
}
</style>
</head>
<body>
<div id="child">
<img alt="" src="img/u=2639088341,2223755776&fm=27&gp=0.jpg" style="display: inline-block; vertical-align: middle;" />
</div>
</body>
</html>
<div></div>垂直居中:
代码与效果:
<head>
<meta charset="utf-8" />
<title></title>
<style>
.zz {
position: absolute;
top: 50%;
width: 200px;
height: 100px;
margin-top: -50px;
}
</style>
</head>
<body>
<div class="zz">
<span>测试垂直居中</span>
</div>
</body>
<div><div></div></div>里的div垂直居中:
代码与效果:
<head>
<meta charset="utf-8" />
<title></title>
<style>
.root-div{
/*注意,外容器需要指定一个height:*/
height: 700px;
}
.children-div{
position: relative;
top: 50%;
-webkit-transform: translateY(-50%);
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
</style>
</head>
<body>
<div class="root-div">
<div class="children-div">Hello</div>
</div>
</body>
.box3{position:relative;}
.box3 span{
position: absolute;
width:100px;
height: 50px;
top:50%;
left:50%;
margin-left:-50px;
margin-top:-25px;
text-align: center;
}
2.CSS表格显示
.box1{
display: table-cell;
vertical-align: middle;
text-align: center;
}
3.绝对定位和0
.box4 span{
width: 50%;
height: 50%;
background: #000;
overflow: auto;
margin: auto;
position: absolute;
top: 0; left: 0; bottom: 0; right: 0;
}
4.ie6实测能用,再老式就不行了
.box2{
display: flex;
justify-content:center;
align-items:Center; }
代码转自博客园----彼岸花在开