父元素不定宽高,子元素不定宽高,如何让子元素垂直居中显示?
父元素不定宽高,子元素定宽度,如何让子元素垂直居中显示?
父元素还是要有个高的吧,要不不等高了吗
<style type="text/css">
.wrap {
position: relative;
width: 100%;
height: 200px;
background-color: #ccc;
}
.wrap .inner {
position: absolute;
left: 50%;
top: 50%;
background-color: #333;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
</style>
</head>
<body>
<div class="wrap">
<div class="inner">
水平垂直居中水平垂直居中<br/>
</div>
</div>
</body>
楼主的意思是这些宽高不是在css里面写死,而是在具体执行时会有具体的结果。
第二个答案比较全面,其中有符合楼主需求的绝对定位+反向偏移,table-cell,弹性盒子三种方案,如果不考虑老旧浏览器的话都可以使用。
补充一点:table-cell里面的内容不用套壳。另外我以前用过一种最笨的方法————绝对定位+js计算(这个兼容性绝对好:)。
3 回答5.1k 阅读✓ 已解决
5 回答1.9k 阅读
2 回答1.9k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.4k 阅读
4 回答2.2k 阅读
3 回答2.1k 阅读
专门写过一份各种居中的代码,可以参考一下有没有你想要的
http://codepen.io/quietcoder/...