多彩绚丽的图片切换效果
这是一个项目需求,觉得好玩就自己写了一个
这是利用4个div显示同一图片的不同区域,css控制各图片位置,进行显示与隐藏,再给图片加上transition时长,就能形成华丽的视觉效果。 很多看似炫酷的效果,究其原理还是很简单的。
HTML:
CSS:
.grid-box{ position: relative; width: 280px; height: 220px; overflow: hidden; border-radius: 10px; border: 10px solid #dee5e1; margin: 0 auto; } .pic1, .pic2{ font-size: 0; box-sizing: content-box; width: 260px; height: 200px; position: absolute; top: 0; left: 0; cursor: pointer; } .pic1 li{ width: 50%; height: 100px; position: relative; overflow: hidden; float: left; } .pic1 li > img{ position: absolute; } .pic1 li > img,.pic1:hover li > img,.pic2 , .grid-box:hover .pic2{ transition: all 0.5s ease; } .pic1 li:nth-child(1) img{ left:0; top:0; } .pic1 li:nth-child(2) img{ left: -130px; top: 0; } .pic1 li:nth-child(3) img{ left:0; top: -100px; } .pic1 li:nth-child(4) img{ left: -130px; top: -100px; } .pic2{ transform: scale(1.5); -o-transform: scale(1.5); -moz-transform: scale(1.5); background: url("../image/about2.jpg") no-repeat center; background-size: cover; z-index: -1; } .grid-box:hover .pic2{ transform: scale(1); -o-transform: scale(1); -moz-transform: scale(1); display: block; } .pic1:hover li:nth-child(1) img{ /*向下滑*/ top:100px; } .pic1:hover li:nth-child(2) img{ /*向左滑*/ left: -260px; } .pic1:hover li:nth-child(3) img{ /*向右滑*/ left: 130px; } .pic1:hover li:nth-child(4) img{ /*向上滑*/ top: -260px; }
2016.10.08
© RedSpite | 蜀ICP备16004270号