.wrap { margin: 0 auto; width: 100%; height: 0; padding-top: 58%; /* ratio of image * 100 */ overflow: hidden; position: relative; } .mockup { position: absolute; top: 0; -webkit-transform-origin: 0 0; transform-origin: 0 0; } .mockup::after { content: ''; position: absolute; background: rgba(51,71,89,0.5); top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; } .mockup__img { display: block; width: 1900px; } .screen, .mobile { position: absolute; overflow: hidden; z-index: 100; background: #333; outline: 1px solid transparent; -webkit-transform-origin: 0px 0px 0px; transform-origin: 0px 0px 0px; } .screen { width: 1280px; height: 800px; top: 10px; left: 600px; -webkit-transform: matrix3d(0.452711184975633, 0.139863853789781, 0, -0.000095269465775677, -0.00319943882448498, 0.673512589529646, 0, 0.000049453592261685, 0, 0, 1, 0, 382, 8, 0, 1); transform: matrix3d(0.452711184975633, 0.139863853789781, 0, -0.000095269465775677, -0.00319943882448498, 0.673512589529646, 0, 0.000049453592261685, 0, 0, 1, 0, 382, 8, 0, 1); } .mobile { width: 320px; height: 480px; top: 850px; left: 525px; -webkit-transform: matrix3d(0.442778970432011, 0.112834189093484, 0, -0.000053669440509915, -0.344035499291785, 0.346595156594271, 0, -0.000094674614416115, 0, 0, 1, 0, 105, 15, 0, 1); transform: matrix3d(0.442778970432011, 0.112834189093484, 0, -0.000053669440509915, -0.344035499291785, 0.346595156594271, 0, -0.000094674614416115, 0, 0, 1, 0, 105, 15, 0, 1); } .slideshow { padding: 0; margin: 0; width: 100%; height: 100%; list-style-type: none; } .slideshow__item { width: 100%; height: 100%; position: absolute; overflow: hidden; pointer-events: none; z-index: 1; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } .slideshow__item.current{ pointer-events: auto; z-index: 100; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .slideshow img { width: 100%; } .slideshow__item.in--next { -webkit-animation: inNext 0.5s forwards ease-in-out; animation: inNext 0.5s forwards ease-in-out; } .slideshow__item.out--next { -webkit-animation: outNext 0.5s forwards ease-in-out; animation: outNext 0.5s forwards ease-in-out; } .slideshow__item.in--prev { -webkit-animation: inPrev 0.5s forwards ease-in-out; animation: inPrev 0.5s forwards ease-in-out; } .slideshow__item.out--prev { -webkit-animation: outPrev 0.5s forwards ease-in-out; animation: outPrev 0.5s forwards ease-in-out; } @-webkit-keyframes inPrev { 0% { -webkit-transform: translate3d(-30%, 0, 0); transform: translate3d(-30%, 0, 0); } 100% { -webkit-transform: none; transform: none; } } @keyframes inPrev { 0% { -webkit-transform: translate3d(-30%, 0, 0); transform: translate3d(-30%, 0, 0); } 100% { -webkit-transform: none; transform: none; } } @-webkit-keyframes inNext { 0% { -webkit-transform: translate3d(30%, 0, 0); transform: translate3d(30%, 0, 0); } 100% { -webkit-transform: none; transform: none; } } @keyframes inNext { 0% { -webkit-transform: translate3d(30%, 0, 0); transform: translate3d(30%, 0, 0); } 100% { -webkit-transform: none; transform: none; } } @-webkit-keyframes outPrev { 100% { -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } } @keyframes outPrev { 100% { -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } } @-webkit-keyframes outNext { 100% { -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } } @keyframes outNext { 100% { -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } }