如何将div定位在前一个div之下,而不是低于最大高度的div

时间:2014-09-10 03:18:49

标签: html css

我有3个div ...

3 divs

如果我将div向左浮动,它将看起来像这样..

divs floated left

现在,我想要" Div 3"位于" Div 2"像这样......

correct div placement

所以,我把

  

明确:两者

到" Div 3"但它最终看起来像这样: misplaced div 3

" Div 3"低于最高处的div,在这种情况下,是" Div 1" ..我应该做些什么来实现类似于图3的定位?

4 个答案:

答案 0 :(得分:1)

您有几个选择。

首先,您可以保留所有内容float: left并在父容器上放置一个宽度,以防止将Div3放在顶行。只要paren twidth> 1,宽度就会将其击倒到Div2下面的下一行。 div1和div2的宽度。

其次,你绝对可以定位div。

最后,如果你不想做其中任何一个,最好的办法是使用像MasonryIsotope这样的JavaScript库。创建这些库是因为在纯CSS中很难实现所需的布局。

答案 1 :(得分:0)

我认为你必须使用< span>对于内联div。

(无法添加评论,因此回答。)

答案 2 :(得分:0)

这是你期待的吗?

<div class="wrapper">
  <div class="Div1"> </div>
  <div class="Div2"> </div>
  <div class="Div3"> </div>
</div>

.wrapper {
    width: 205px;
}
.Div1 {
    background: red;
    width: 100px;
    height:205px;
    margin-bottom:5px;
    float: left;
}
.Div2 {
    background: green;
    width: 100px;
    height:100px;
    margin-bottom:5px;
    float: right;
}
.Div3 {
    background: yellow;
    width: 100px;
    height:100px;
    margin-bottom:5px;
    float: right;
}

JSFiddle Demo

答案 3 :(得分:0)

你需要2个外部区域。试试这个JSFiddle

<body>
    <div class="clearfix">
        <div class="left">
            <div class="div1"></div>
        </div>
        <div class="right">
            <div class="div2"></div>
            <div class="div3"></div>
        </div>
    </div>
</body>

CSS

.clearfix:after {
    clear: both;
    content: ".";
    display: block;
    height: 0px;
    visibility: hidden;
}

.left, .right {
    float: left;
}

.div1 {
    background: red;
    height: 200px;
    width: 100px;
}
.div2, .div3 {
    background: blue;
    height: 100px;
    width: 100px;
}
.div3 {
    background: green;
}