html5如何让多张图片重叠,HTML5图片层叠的实现示例

最近在跟的一个深圳屋祺项目,由于一些内部原因这次我们需要自己写静态页面。兵来将挡水来土掩,既然组织

需要那就做呗。其中有一个页面布局如下所示,

fb6c2266aac11d9dcfb3a07f7aafc099.png

红色方框标注的部分是由三张图片组合而成,各部分图片如下:

8c04e93be8860fe0ec1b042c289902ac.png 

b38be4239e0f7e383a14c9d2fb228a95.png

33190c063941d748b502066413cf304e.png

要想实现上图的图片重叠,只需设置属性元素的position和z-index属性。

z-index:设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。即z-index的值越大显示越靠上。

position:有以下几个值:static,relative,absolute,fixed。

Static:静态定位。如果没有设置position属性,那么缺省就是static。top,left,bottom,right等属性,在 static情况下是无效的,要使用这些属性,必须把position设置为其他三个值之一。

Relative:相对定位。元素将按照静态定位时的位置进行调整,在静态定位中分配给元素的空间仍然会分配给它,它两边的元素不会向它靠近来填充那个空间,但它们也不会从元素的新位置被挤走。

Absolute:绝对定位。元素将按照包含它的元素的位置进行调整,比如它嵌套在另一个绝对定位的元素中,那么就相对于那个元素定位。

Fixed:固定定位。元素将被设置在浏览器上一个固定位置上,不会随其他元素滚动。形象点说,上下拉动滚动条的时候,fixed的元素在屏幕上的位置不变。需要注意的是IE6并不支持此属性。

具体实现如下,div布局

4-1.png

4-2.png

4-3.png

需保养

整合后的运行效果:

5b58f11be7d2547c896ed2f935228a7e.png

到此这篇关于HTML5图片层叠的实现示例的文章就介绍到这了,更多相关HTML5图片层叠内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现HTML图片重叠变换,可以使用CSS的`z-index`属性和`position`属性来控制图片层叠顺序和位置。具体实现过程如下: 1. 将所有图片的`position`属性设置为`absolute`,这样图片就可以脱离文档流,方便控制位置和层叠顺序。 2. 将所有图片的`z-index`属性设置为相同的值,这样它们就处于同一层级,可以让它们互相重叠。 3. 给每个图片设置不同的`left`或`right`值,来使它们的位置不同。 4. 使用CSS3的`transition`属性和`transform`属性来实现图片的变换效果,比如旋转、平移等。 实现无缝无限循环展示效果,可以采用CSS3的`animation`属性,通过不断地改变图片的位置和透明度,来实现循环展示的效果。具体实现过程如下: 1. 定义一个`@keyframes`规则,用来描述图片的动画效果。在这个规则,可以定义图片的位置、透明度等属性,以及动画的持续时间、延迟时间、重复次数等参数。 2. 将图片的`animation`属性设置为定义好的`@keyframes`规则,可以控制图片的动画效果。 3. 为了实现无限循环展示,需要将多个图片按照一定的顺序排列,并且让它们不断地重复播放动画。 下面是一个HTML图片重叠变换和CSS无限循环展示效果的示例代码: ```html <!DOCTYPE html> <html> <head> <title>HTML图片重叠变换和CSS无限循环展示效果</title> <style type="text/css"> .container { position: relative; width: 500px; height: 500px; margin: 0 auto; overflow: hidden; } .container img { position: absolute; top: 0; left: 0; z-index: 1; transition: all 1s ease-in-out; transform-origin: center center; } .container img:nth-child(2) { left: 100px; z-index: 2; transform: rotate(45deg); } .container img:nth-child(3) { left: 200px; z-index: 3; transform: rotate(90deg); } .container img:nth-child(4) { left: 300px; z-index: 4; transform: rotate(135deg); } .container img:nth-child(5) { left: 400px; z-index: 5; transform: rotate(180deg); } .container:hover img { transform: rotate(360deg); } .animation-container { position: relative; width: 500px; height: 500px; margin: 0 auto; overflow: hidden; } .animation-container img { position: absolute; top: 0; left: 0; animation: slide 10s linear infinite; } .animation-container img:nth-child(2) { left: 100%; animation-delay: -8s; } .animation-container img:nth-child(3) { left: 200%; animation-delay: -6s; } .animation-container img:nth-child(4) { left: 300%; animation-delay: -4s; } .animation-container img:nth-child(5) { left: 400%; animation-delay: -2s; } @keyframes slide { 0% { transform: translateX(0%); opacity: 1; } 25% { transform: translateX(-100%); opacity: 0.5; } 50% { transform: translateX(-200%); opacity: 0.2; } 75% { transform: translateX(-300%); opacity: 0.5; } 100% { transform: translateX(-400%); opacity: 1; } } </style> </head> <body> <h2>HTML图片重叠变换</h2> <div class="container"> <img src="image1.jpg"> <img src="image2.jpg"> <img src="image3.jpg"> <img src="image4.jpg"> <img src="image5.jpg"> </div> <h2>CSS无限循环展示效果</h2> <div class="animation-container"> <img src="image1.jpg"> <img src="image2.jpg"> <img src="image3.jpg"> <img src="image4.jpg"> <img src="image5.jpg"> </div> </body> </html> ``` 在这个示例代码,`.container`类表示HTML图片重叠变换的容器,`.animation-container`类表示CSS无限循环展示效果的容器。其,`.container`类和`.animation-container`类的样式设置有些不同。 在`.container`类,将所有图片的`position`属性设置为`absolute`,并设置它们的`left`值,使它们呈现出重叠的效果。同时,给所有图片设置过渡效果和旋转效果,当鼠标悬停时可以触发旋转效果。 在`.animation-container`类,将所有图片的`position`属性设置为`absolute`,并设置它们的`left`值,使它们呈现出水平排列的效果。同时,通过`animation`属性将所有图片绑定到同一个动画,不断地播放循环动画。其,`.animation-container img:nth-child(n)`选择器可以用来为每个图片设置不同的延迟时间,实现无限循环展示的效果。 通过这个示例代码,可以了解到如何使用HTML和CSS实现图片重叠变换和无限循环展示效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值