【问题标题】:How to make a horizontally scrollable div with image thumbnails inside in bootstrap3如何在bootstrap3中制作带有图像缩略图的水平可滚动div
【发布时间】:2015-05-28 15:08:34
【问题描述】:

我正在尝试制作一个可水平滚动的 div,其中包含 3 个细分。细分中每个都有 4 个图像缩略图。我无法让此布局正常工作。

HTML

<div class="col-xs-12">
    <div class="canvas-scrollable">
        <ul class="list-inline clearfix">
            <li class="col-xs-12 col-sm-6 col-md-4">
                <table class="item-inner">
                    <tr>
                        <td class="item-thumb">
                            <img class="img-responsive" src="images/#">
                        </td>
                        <td class="item-thumb">
                            <img class="img-responsive" src="images/#">
                        </td>
                    </tr>
                    <tr>
                        <td class="item-thumb">
                            <img class="img-responsive" src="images/#">
                        </td>
                        <td class="item-thumb">
                            <img class="img-responsive" src="images/#">
                        </td>
                    </tr>
                </table>
            </li>
           <li class="col-xs-12 col-sm-6 col-md-4">
                <table class="item-inner">
                    <tr>
                        <td class="item-thumb">
                            <img class="img-responsive" src="images/#">
                        </td>
                        <td class="item-thumb">
                            <img class="img-responsive" src="images/#">
                        </td>
                    </tr>
                    <tr>
                        <td class="item-thumb">
                            <img class="img-responsive" src="images/#">
                        </td>
                        <td class="item-thumb">
                            <img class="img-responsive" src="images/#">
                        </td>
                    </tr>
                </table>
            </li>
            <li class="col-xs-12 col-sm-6 col-md-4">
                <table class="item-inner">
                    <tr>
                        <td class="item-thumb">
                            <img class="img-responsive" src="images/#">
                        </td>
                        <td class="item-thumb">
                            <img class="img-responsive" src="images/#">
                        </td>
                    </tr>
                    <tr>
                        <td class="item-thumb">
                            <img class="img-responsive" src="images/#">
                        </td>
                        <td class="item-thumb">
                            <img class="img-responsive" src="images/#">
                        </td>
                    </tr>
                </table>
            </li>
        </ul>
    </div>
</div>

CSS

.canvas-scrollable{
    width: 100%;
    height: auto;
    overflow-y: hidden;
    overflow-x: auto;
}

.canvas-scrollable .item-inner{
    height: 300px;
    margin: 10px;
    /*white-space:nowrap;*/
    background: #FFFFFF;
    border: 1px solid rgba(0,0,0,0.1);
    -webkit-box-shadow: 0 13px 8px -10px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 13px 8px -10px rgba(0, 0, 0, 0.1);
    box-shadow: 0 13px 8px -10px rgba(0, 0, 0, 0.1);
}

.item-thumb{
  width: 50%;
  height:50%;
  padding: 4px;
  border: 1px solid green;
}

.item-thumb img{
   height: 100%;
   object-fit: cover;
}

图像不适合容器 div。 height: 100% 使图像占据最外层 div 的整个 300px 高度。

请在此处编辑我的JSFiddle。 希望我的问题足够清楚

【问题讨论】:

  • 在此处发布问题之前,我实际上尝试了相同的示例。除了
  • 的宽度外,一切都很好。我最外面的容器“
    ”实际上嵌套在另一个宽度为 col-xs-8 的包装器中。我面临的问题是,内部的“li”忽略了这些宽度并占据了整页。您能否编辑我的小提琴,或者其他问题中显示的小提琴具有我指定的宽度!谢谢
  • 猜我知道了jsfiddle.net/V5zWT/241
  • 标签: css twitter-bootstrap-3 scrollbar


    【解决方案1】:

    看看这里。你想实现这样的目标吗??

    CSS:

    ul.horizontal-slide {
        margin: 0;
        padding: 0;
        width: 100%;
        white-space: nowrap;
        overflow-x: auto;
    }
    
    ul.horizontal-slide li[class*="span"] {
        display: inline-block;
        float: none;
    }
    
    ul.horizontal-slide li[class*="span"]:first-child {
        margin-left: 0;
    }
    

    查看更新的小提琴

    http://jsfiddle.net/2arvozpc/2/

    【讨论】:

    • 完全一样的布局,除了不是像你展示的那样直接使用缩略图,我想要每个子元素内有 4 个缩略图......我更新的小提琴在这里@987654322 @。在这个小提琴中,我希望每个列表项中有 4 个拇指.....作为 2*2 网格(2 行 2 列)
    • 嘿,如果你不介意的话,你能不能使用我在相同课程中发布的相同标记来帮助我解决问题!谢谢
    • 我没有得到您的问题或什么类型的布局。您可以简单地在绘画中创建一些演示图像并在此处显示。也许我可以提供帮助。
    • 请看我对图片的回答
    【解决方案2】:

    @roxid :嘿,感谢您的解决方案,但问题似乎仍然存在。

    图像根本不显示。我使用的是 Bootstrap 3.3.2,所以 span2 不存在......我得到了这样的东西。图片大小为 0px X 0px !!!

    当我添加自己的图片时,列表项占据了整个宽度

    我觉得我的朋友完全被困住了。根本无法弄清楚我错过了什么

    更新

    做了很多修改,终于得到了这个动态调整的布局

    待处理问题:

    white-space: now-wrap 在 IE10 中不起作用。有人可以告诉我是否必须为此编写 IE 特定代码!

    【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签