我正在使用流畅的布局设计,我希望类center
的div在div中使用类outer
水平居中。我试过这个,但它不起作用。我做错了什么?
HTML:
<div class="outer">
<div class="inner"> // this div has height=0. Why?
<div class="center">
// stuff
</div>
</div>
</div>
CSS:
.outer {
position: absolute;
left: 0;
right: 0;
top: 50px;
height: auto;
}
.inner {
width:100%;
}
.center {
margin:0 auto;
}
答案 0 :(得分:0)
你必须把内心当作一个页面中的常规div
对待,如下所示:
#inner {
position:fixed;
top: 50%;
left: 50%;
width:234px;
height:90px;
margin-top:-45px; /*set to a negative number 1/2 of your height*/
margin-left:-117px; /*set to a negative number 1/2 of your width*/
border: 0.5px solid #ccc;
}
这可以解决问题,你可以相应调整。
答案 1 :(得分:0)
使用margin-left的百分比,例如:
.center
{
width:90%;
margin-left:5%;
}
我使用5%的原因是因为由于中心的宽度是它的容器的90%,我们剩余10%的空间,所以为了使它居中,你必须把它带到剩下一半的可用空间;在这种情况下,这是5%
答案 2 :(得分:0)
内联块可能是居中div的最佳选择,然后使用带有text-align:center的外部div来居中内部容器。你并不像你拥有它那样需要一个内部和一个中心div,但我保留了它的例子。下面是一个小提琴链接:
例如,添加了边框和填充。
<div class="outer">
<div class="inner">
<div class="center">
Inner stuff
</div>
</div>
</div>
.outer {
position: absolute;
left: 0;
right: 0;
top: 50px;
height: auto;
background:#ccc;
border:1px solid #333;
}
.inner {
display:block;
margin:10px;
border:1px solid #333;
text-align:center;
}
.center {
margin:10px 0;
text-align:left;
height:40px;
width:80%;
display:inline-block;
background:#fff;
padding:10px;
}