0

我有一堆想使用 jquery 显示的图像。我有 div,我使用 jquery 根据一些 node_id 标准填充 div。例如,如果 node_id 是 teamA,我会显示在图像名称中包含 teamA 文本的图像。

它的工作原理发现,问题是当将图像放在 html 的主体上时,图像会垂直显示,直到主页上没有空间。

我想根据浏览器窗口的大小执行此操作,根据浏览器窗口的大小显示图像。例如,如果图像大小为 500x500,浏览器窗口宽度为 700,我应该能够每行显示一张图像。如果浏览器的宽度是 1200,我的浏览器窗口中每行应该有 2 张图像。

为了给你一个想法,我放了 html 和 jquery 代码来向你展示我在做什么:

<div class="tab-content" id="tabs1">
    <div id="team_A" class="team"></div>
    <div id="team_B" class="team"></div>
    <div id="team_C" class="team"></div>
    <div id="team_D" class="team"></div>
</div>

这是基于 jstree node_id 显示图像的 jquery 代码:

var team_A_Img = "http://test.net" + node_id + "-team_A.png";
            $(function () {

                var myImage = new Image();
                $(myImage).load(function () {

                    $("#team_A").html(myImage);

                }).error(function () {

                    $('#team_A').hide();
                }).attr('src', Img_A_Img)

            });

这很有效,但是我需要根据浏览器上的空间大小,垂直或水平地显示基于浏览器窗口大小的图像。有人可以给我一些想法,我将如何做到这一点?

4

3 回答 3

3

如果您可以指定图像的宽度,则可以将它们浮动在块级元素中。例如:

<div class="tab-content" id="tabs1">
    <div id="team_A" class="team"><img src="http://placehold.it/350x150"></div>
    <div id="team_B" class="team"><img src="http://placehold.it/350x150"></div>
    <div id="team_C" class="team"><img src="http://placehold.it/350x150"></div>
    <div id="team_D" class="team"><img src="http://placehold.it/350x150"></div>
</div>

并使用以下 CSS:

.tab-content {
    padding: 0px;
    background-color: yellow;
    overflow: auto;
}
.team {
    float: left;
    margin: 0 5px 5px 0;
}
.team img {
    display: block;
}

要使其工作,overflow: auto请在父容器中设置,特别是如果您想使用背景颜色或图像。

您可以调整浮动元素的边距或填充,以在图像之间创建和设置装订线样式。

最后,我display: block在图像上使用来处理可能由内联元素产生的任何空白。

如需参考,请参阅:http: //jsfiddle.net/audetwebdesign/8FEeM/

于 2013-03-13T16:54:59.803 回答
1
<div class="tab-content" id="tabs1">
<div id="team_A" class="team">
    <img src="http://placehold.it/500x500" />
    <img src="http://placehold.it/500x500" />
    <img src="http://placehold.it/500x500" />
</div>

CSS

.team img{float: left;}
于 2013-03-13T16:54:36.153 回答
0

在我的脚本中可以这样做:

$('.team').css({ "width": $(window).width(), "height": "auto" });

于 2013-03-13T17:04:33.693 回答