javascript - 如何设计带有内部 float 的 div 以水平扩展以允许所有内部 float div 适合?

标签 javascript jquery html css

基本上,我有一个包含一些 float 元素的内容框:

html

<div class="contentBox">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="item">3</div>
    <div class="item">4</div>
</div>

CSS

.contentBox {
    overflow-x:scroll;
}
.item {
    float:left;
}

我希望盒子的宽度扩大,以便让我添加到其中的元素尽可能多地适应,向左浮动(这意味着元素被推到右边)。但相反,由于没有空间,它只会在元素下降之前与页面一样宽。我希望它在页面外继续。

我该怎么做?

我想我需要使用一些 JavaScript,但如果可能的话,我宁愿使用纯 CSS 解决方案。

最佳答案

您可以在带有内联 block 子元素的父容器上使用 white-space: nowrap:

.contentBox {
    overflow-x: scroll;
    white-space: nowrap;
}
.item {
    display: inline-block;
}

演示:http://jsfiddle.net/vo8202uy/

$('button').click(function() {
    $('.contentBox').append('<div class="item">' + ($('.item').length+1) + '</div>');
});
.contentBox {
    overflow-x:scroll;
    white-space: nowrap;
}
.item {
    width: 50px;
    background: coral;
    margin-right: 5px;
    display: inline-block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="contentBox">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="item">3</div>
    <div class="item">4</div>
</div>
<button>Add more</button>

关于javascript - 如何设计带有内部 float 的 div 以水平扩展以允许所有内部 float div 适合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27433746/

相关文章:

javascript - Discord 机器人嵌入变量返回为未定义

javascript - jQuery 检查跨度类并隐藏最近的 div

html - 如何在其 float 的主 div 之外获取标题并将其全宽放置在页面顶部

html - 将按钮和文本框并排放置

javascript - 以表格格式显示输入字段中的数据

javascript - 在基于 Ext JS 的项目中使用非 ext java 脚本

jquery - 为什么当菜单完全展开并且我在移动设备上向下滚动时菜单会折叠

javascript - 添加类,然后单击删除并替换类

html - 圆形按钮中的居中数字

.net - 使asp.net服务器控件跨浏览器兼容