我正在练习编写自己的简单JavaScript幻灯片插件,目标方法是将所有图像 - 所有图像大小相同 - 放在屏幕上的相同位置(所有图像都具有相同的位置) x
和y
值,但改变他们的z-index
es,根据需要在彼此前面或后面随机播放,循环遍历每一个。到目前为止,JavaScript运行良好,但我无法在页面上将图像叠加到彼此之上 - 它们只是从容器的顶部向下堆叠,每行一个。
这是我的HTML相关部分的简化版本:
<section>
<div class="images">
<img src="1">
<img src="2">
<img src="3">
</div>
</section>
和CSS
.images {
height: 15em;
margin: 0 auto;
overflow: hidden;
width: 20em;
}
如您所见,它并不太复杂。不过,我不知道从哪里开始。我能够以我想要的方式分层图像的唯一方法是将position: absolute;
和top: 0;
应用于图像,但这也会将它们抛出div
之外,然后将其应用于div
本身会导致整个布局陷入混乱。所以如果有人有任何建议,我会非常感激! :)
答案 0 :(得分:3)
将position:relative
添加到.images
课程。绝对定位的元素相对于其最接近的祖先元素定位。
答案 1 :(得分:1)
您需要将position: relative
应用于div。这样,图像使用其父div作为参考。
答案 2 :(得分:-1)
一种选择是使用JavaScript修改display
和visibility
CSS属性以显示和隐藏图像。
visibility: hidden
表示该元素不可见,但它仍占用页面流中的空间。
display: none
表示该元素在页面流中不占用空间。
我看到当display
为none
但visibility
为hidden
时,浏览器的行为很奇怪。我发现最好切换它们。
对于您想要显示的图片,请设置display: block
和visibility: visible