jquery - 无论屏幕大小如何,将元素环绕在图像周围

标签 jquery html background-color css

这类似于我之前的问题 css, Wrap element tightly around unspecified number of images , 但我意识到我有一个额外的要求。

我有一个显示图像的元素。这个元素需要随着图像的数量水平增长。我事先不知道会有多少图像。

此外,如果屏幕小于元素的最大宽度,则图像应转到下一行并且外部元素应相应缩小。

http://jsfiddle.net/sXgzn/14/说明了这个问题。

编辑:更清晰的期望结果: http://jsfiddle.net/sXgzn/23/

<div class = "outer">
  <img src = "xx" class = "inner" />
  <img src = "xx" class = "inner" />
  <img src = "xx" class = "inner" />
</div>

来自 Fiddle:缩小屏幕,使顶行只有 2 个太阳。黑色背景应该继续环绕图像,边缘没有额外的黑色。

编辑:为了清楚起见:顶部有 2,下一行有 1:第二张图片下方有黑色空间是可以的。我只是不想要宽阔的黑色右边缘。

最佳答案

因为我没有找到解决这个问题的合适方法,您可以使用 JavaScript 和一些 jQuery 来解决:

LIVE DEMO

HTML 示例:

<div class="images">
  <img src="img1.jpg" />
  <img src="img2.jpg" />
  <img src="img3.jpg" />
</div>

CSS:

.images{
  background:#000;
  font-size:0;
}

.images img{
  width:90px;
  height:90px;
  background:#000;
  margin:5px;
}

jQuery:

var $img = $('.images img'),
    n = $img.length,
    w = 100;  // img width + margins

$(window).resize(function(){  
  var W = $('body').width(), 
      s = Math.min(~~(W/w)||1, n);
      $('.images').width(s*w);
}).resize();

关于jquery - 无论屏幕大小如何,将元素环绕在图像周围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18349085/

相关文章:

javascript - 使用jquery显示表中的数据

数字范围为 1-5 的 JavaScript switch case

java - 如何在java中设置数组中JButtons的颜色?

css - 是背景颜色 :none valid CSS?

firefox - 多个 CSS 背景,图像上的颜色,被忽略

jquery - 页脚没有停留在页面底部

javascript - 在更改时使用 javascript 清除选择选项

jquery - 出现 animate is not a function 错误

css - 全尺寸背景图像不显示

javascript - 当我在标记中包含 jquery.js 时,页面中的其他 javascript 函数不会触发