Div实际自动宽度

时间:2012-09-08 15:29:44

标签: javascript html css

我有一个div,它基本上是float: left个较小div的网格。我希望整个网格具有自动宽度,并且它将相对于其容器居中。 display: inline-block到网格+ text-align: center到容器不会产生所需的结果。 似乎一旦用几个div填充网格以便创建一个新行,网格的宽度最大化到容器的宽度,即使较小的div不完全适合该行并且右边还有一些空白区域。 / p>

解决方案是什么?enter image description here

3 个答案:

答案 0 :(得分:1)

为什么float首先是div较小的display: inline-block;?在它们上使用width可以让您在居中时获得更多控制权,并且您还可以通过执行display: inline-block;来使容器<div class = "container"> <div class = "floatcontainer"> <img src = "" alt = "" class = "floatimg"/> <img src = "" alt = "" class = "floatimg"/> <img src = "" alt = "" class = "floatimg"/> <br/> <img src = "" alt = "" class = "floatimg"/> <img src = "" alt = "" class = "floatimg"/> <img src = "" alt = "" class = "floatimg"/> </div> </div> '自动'。这是一个小工作演示:little link

这是基本的大纲,HTML:

.container {
    width: 100%;
    text-align: center;
}
.floatimg {
    width: 100px;
    display: inline-block;
    margin: 15px;
}
.floatcontainer {
    display: inline-block; /*makes the div's width only as large as needed*/
    text-align: center;
}

CSS:

{{1}}

希望有所帮助!

答案 1 :(得分:1)

你应该在这里使用表格,但如果不是这样的话,请试试这个fiddle

<强> HTML

<!DOCTYPE html>

  演示                                                                                  

<强> CSS

.container{
    margin: 10px;
    padding: 10px;
    border: 1px solid #000;
}
.item{
        height: 10px;
        margin-top: 10px;
        margin-right: 2%;
        width: 32%;
        float: left;
        background-color: #dfdfdf;
    }
    .mr0{
        margin-right: 0;
    }
    .clear{
        clear: both;
    }
    ​

答案 2 :(得分:0)

只需简单并使用

即可
div.big {
width:100%;
}
div.small {
    width:33.33%
}