我个人会将此图像设置background-image
为 a <div>
,并设置width
为图像宽度的倍数(例如 23.4 * 宽度)background-repeat
和repeat-x
.
如果你特意拒绝使用背景,那么将JS 中的overflow
tohidden
和 use a设置为. 这样,由于溢出,最后一个可以是“半可见”的。loop
document.createElement
image
div
编辑:
为了解决这个问题,您需要设置换行符。例如,看到您的图像是 21px 宽,假设一行中的最大图像数是 20(840px 宽)。
假设您需要放置 75.5 张图像。
首先,您创建一个div
宽度为 840 像素的图像并将75.5 - (75.5 % 20)
图像放在那里。它应该创建三行图像。然后你把剩下75.5 % 20 = 15.5 => 16 images
的(同样,最后的第 16 张图像将是半可见的。div
15.5 * 21
编辑2:
如果图像的宽度发生变化,可以采用一种新技术:只使用一个div
固定宽度的图像来放置任何你喜欢的东西。将所有图像放入其中。div
在页面颜色的最后一个image
不透明背景之后添加一个新的:
http://jsfiddle.net/qTb8T/1/
HTML:
<div id="wrapper">
<div id="overlay">
</div>
CSS:
#wrapper {
background: blue;
width: 700px;
}
#overlay {
background: blue;
display: inline-block;
position: relative;
}
JS:
var count = 75.5,
ceil = Math.ceil(count),
image = 'http://jsfiddle.net/img/logo.png',
overlay = $('#overlay'),
wrapper = $('#wrapper'),
hide = ceil - count;
for(var i = 0; i < ceil; i++) {
var img = document.createElement('img');
img.src = image;
wrapper.prepend(img);
}
overlay.css({
'width': img.clientWidth,
'left': -img.clientWidth * hide,
'height': img.clientHeight,
});