我想要一组侧面叠加的div,如下:
D0
---------------------------------------
| ------ ------ ------ ------ |
| | | | | | | | | |
| | D1 | | D2 | | D3 | | D4 | |
| | | | | | | | | |
| ------ ------ ------ ------ |
---------------------------------------
以D1为中心。我可以通过将D0设置为text-align:center
来完成此操作。 (我不能使用margin:auto,因为我不知道D1-D4的宽度组合)。
但是,D1到D4包含一堆我要叠加的图像。我可以为D1设置position: relative
,为img标记设置position:absolute
。
问题在于,这会导致D1-D4看起来没有内容,并且他们失去了以text-align:center为中心的能力!还有其他方法可以达到我的目的吗?
答案 0 :(得分:3)
使用display : inline-block
d1, d2 d3
和d4
(以及vertical-align
)并在父
text-align: center
这些元素不需要相对定位
答案 1 :(得分:1)
嘿,我想你现在可能就像这样
的的CSS 强> 的
.d0{
width:70%;
background:green;
text-align:center;
margin:0 auto;
}
.d0 div{
display:inline-block;
margin:10px 0;
}
.d1{
background:yellow;
position:relative;
}
.d2{
background:pink;
}
.d3{
background:darkred;
}
.d4{
background:lightblue;
}
<强> HTML 强>
<div class="d0">
<div class="d1">D1</div>
<div class="d2">D2</div>
<div class="d3">D3</div>
<div class="d4">D4</div>
</div>
现场演示http://jsfiddle.net/rohitazad/qCtwp/
或者如果您使用的是表格而不是http://jsfiddle.net/rohitazad/qCtwp/1/
答案 2 :(得分:0)
你是否可以使用flot:left
属性来删除它,你可以使用display:inline
作为div,然后它将位于D0的中心
答案 3 :(得分:-1)
<div id=d0 style="">
<center><div id="dgroup" style="padding-top:10%;">
<div id=d1 style="float:left;width=100px;height:180px">
this is d1
</div>
<div id=d2 style="float:left;width=100px;height:180px">
this is d2
</div>
<div id=d3 style="float:left;width=100px;height:180px">
this is d3
</div>
</div></center>
</div>