css – Div填充剩余的水平空间

前端之家收集整理的这篇文章主要介绍了css – Div填充剩余的水平空间前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下代码
<div class="parent">
    <ul class="menu">
        <li>this</li>
        <li>width</li>
        <li>is</li>
        <li>dynamic.</li>
    </ul>

    <div class="something">
        <span>so is this</span>
        <table>because of this table.</table>
    </div>

    <div class="fill">
        <span>and so is this. but this guy needs to fill the remaining width.</span>
    </div>
</div>

Image

这3个项目 – ul和2 divs – 并排排列,如您所见,它们具有动态宽度.我必须使这三个项目适合div.parent,宽度固定在1200px.

目前,我正在使用’float:left;’将这3个项并排排列,我可以使用’display:inline-block;’如果有必要[完美地工作].但我试图用’display:table;’来尝试一些技巧.对于父级和’display:table-cell;’对于这3个项目,没有成功.

我需要填充黑色div上的剩余空间,即’div.fill’.有任何想法吗?

EDIT2:http://jsfiddle.net/cAs9t/

解决方法

Demo

只需添加

div.fill { float: none; overflow: hidden; }

其中float:none删除浮动(你也可以避免应用float:left to .fill),overflow:hidden(或任何不同于可见的)阻止浮动元素重叠.fill.

其他方法

>您可以使用display:table-cell和display:table,但是您无法指定应该增长哪个元素来填充所有剩余空间.
>但是如果你想要完全控制并希望以更复杂的方式分配剩余的空间,你应该使用Flexboxes.

猜你在找的CSS相关文章