Css 是否可以有一个相对显示:内联块

Css 是否可以有一个相对显示:内联块,css,Css,我以前不知道如何解决这个问题,经过讨论和类似的问题后,我清楚地知道想要的功能是什么(我不想重复使用旧问题,因为它被我糟糕问题的答案所污染:) 问题是: display:inline-block 如果右边有空间,可以将元素newt附加到它,如果没有空间,可以返回到新行 我的问题是:它能回到一个相对新的路线吗?这意味着 如果在其所在的线下还有空间,请使用该空间 如果没有更多的空间,请转到新行 如果第二行已满,则同样适用,如果有空间,则跳到左侧元素旁边的第三行 将其设置为级联模式 这里有一个js

我以前不知道如何解决这个问题,经过讨论和类似的问题后,我清楚地知道想要的功能是什么(我不想重复使用旧问题,因为它被我糟糕问题的答案所污染:)

问题是:

display:inline-block
如果右边有空间,可以将元素newt附加到它,如果没有空间,可以返回到新行

我的问题是:它能回到一个相对新的路线吗?这意味着

  • 如果在其所在的线下还有空间,请使用该空间
  • 如果没有更多的空间,请转到新行
  • 如果第二行已满,则同样适用,如果有空间,则跳到左侧元素旁边的第三行
  • 将其设置为级联模式
这里有一个jsfiddle来解释这个问题

有什么理由不能在右手边多加一个div

HTML

<div class="container">
        <div id="1" class="left"> left one this is where it gets tricky, look there is plenty of space to the right, but instead of taking it, the div id=3 is coming below me. stupid one! :)
        </div>
        <div class="right">
            <div id="2" class="one"> right takes as much place as it wants lkjml mlkj mlk mlkj mlkj mlkjmkjm ilm lkjml jmijom llkj mkjmjmij lj
            </div>
            <div id="3" class="two"> this one also, if there is no more room, it jumps to the next line under left
            </div>
        </div>
</div>
结果


1)你应该悬赏才能得到你喜欢的答案。2) 编辑上一个问题。上一个问题被否决了,因为问题问得不好,在我重新思考后,这将是一个完全不同的问题。我不清楚你在问什么。。当你说“行”的时候,你可能是指某一列吗?这个问题似乎离题了,因为它是对先前问题的基本提炼,应该对其进行编辑而不是重新发布。-这并不是一种提炼,这是“你们吸烟吗”和“你们患癌症了吗”之间的一种区别,若它出现在同一个问题上,这是不同的事件。你可以看看这一个是如何投票的,而另一个是向下投票的。是的,如果div id=3太大,它将保留在右边,而不是从页面的开头取回它的位置:假设你有一个id=1的短文本。你可以通过缩短id=1的文本和/或延长id=3的文本来播放。这里出现了另一个问题:我们什么时候跳转到一条新的路线?当我们达到某个百分比时,比如id=3的10%太高,或者id=3更高,等等。。。我认为浏览器本身不支持此功能??问题在于
内联块
与容器相关,而不是与容器中的元素相关。。。因此,“换行到下一行”行为基于所有3个内部div的宽度。包裹的“线”基于该线上最大div的最大高度。准确地说,请参见!!!内联块是相对于容器的,从我们可以添加“relative to”属性的那一刻起,这可能就不是问题了。也许它比一个新的css display=“tile”选项更好,因为“relative to”表示停止内联的位置……另外,如果我们添加一个“relative to”属性,这将不够,因为我们必须说明从哪个高度超出我们必须跳到左边元素的下面(在某些情况下,50%的额外高度可以放在右边,而10%的额外高度已经过高)
.container{

}

.left{
    display: inline-block;
    background: red;
    max-width: 100px;
}
.right{
    display: inline-block;
    vertical-align: top;
    border: solid 1px #000000;
}

.one{
    background:blue;
}
.two{
    background:green;
}