在我的rails应用程序中,我有一个容器,容纳1到4个包含产品图像/文本的div。如果有人在前一页中选择了1个产品,则有1个div,如果有人选择了2个产品,则为2个div,如果有人选择了3个产品,则为3个div。因此产品div的数量会根据情况而变化和变化。
我想要的: 容器及其div要居中。
如果有一个div,我希望它居中/ margin:auto, 如果有两个div我希望它们浮动/内联块和边缘居中, 我希望所有的div都是浮动的并且居中,但直到所有的div都填满了容器的宽度。
我试过边缘:自动容器,但我需要一个设定的宽度。如果我有一个设定的宽度,那么它将不会增长,具体取决于容器中有多少div。
image1 http://www.image-maps.com/uploaded_files/3201312101150184_div1.png
image2 http://www.image-maps.com/uploaded_files/3201312101150184_div2.png
image3 http://www.image-maps.com/uploaded_files/3201312101150184_div3.png
div内部容器的宽度不会改变。
我的问题与浏览器的宽度无关。
答案 0 :(得分:1)
如果您的内部人员text-align
为div
,则可以在容器上使用inline-block
:
.container {
text-align:center;
}
.container div.inside {
display:inline-block;
}
答案 1 :(得分:1)
您可以为div设置display
到inline-block
,为容器设置text-align
到center
。
请记住text-align
是继承的,因此您需要在div上将其重新设置为所需的值。
答案 2 :(得分:0)
我知道这样做的唯一方法是使用
display: inline-block;
在div上,它是容器。不要使用
float: left;
并设置
text-align: center;
容器上的和它的父级。
margin: auto;
只有具有明确宽度的div才能居中。自动增长的div没有明确的宽度,因此margin: auto;
将无效。
使用inline-block
时要小心,因为浏览器会在标记中看到空白并将其渲染到页面,这会导致不必要的影响。只需确保修剪divs
。