<div></div>
请问怎么让<div>元素垂直居中!div的高度为0,并且不能少于三种方法!请大神解答!div里面是没有任何内容来撑开div的高!
<div></div>
请问怎么让<div>元素垂直居中!div的高度为0,并且不能少于三种方法!请大神解答!div里面是没有任何内容来撑开div的高!
看到这个问题我第一反应是如何在不设置height
的情况下给div
有个高度,哈哈哈,所以我的想法是通过padding
或者是border
让div
有个高度,然后居中后面就跟上面的答主说的差不多了
用display: inline-block;献个丑了,虽然有点离题了,前面的差不多都说完了,
.parent{
width: 1000px;
margin: 0 auto;
background: #cccccc;
height: 1000px;
}
.parent:before{
content: '';
height: 100%;
width: 0;
vertical-align: middle;
display: inline-block;
}
.child{
display: inline-block;
vertical-align: middle;
}
行高
.parent{
width: 1000px;
margin: 0 auto;
background: #cccccc;
height: 1000px;
line-height: 1000px;
}
.child{
display: inline-block;
}
老版本flex
.parent{
width: 1000px;
margin: 0 auto;
background: #cccccc;
height: 1000px;
display: -webkit-box;
display: -moz-box;
-webkit-box-align:center;
-moz-box-align: center;
}
5 回答1.3k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
4 回答2k 阅读
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
1 回答1.5k 阅读✓ 已解决
关于垂直、水平居中等布局,你可以参见此片文章
【整理】CSS布局方案
方法一:table-cell + vertial-align
方法二: absolute + transform
方法三:flex + align-items