.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 { position: absolute; z-index: 100; overflow: hidden; background: #333; width: 1280px; height: 800px; top: 52px; left: 527px; outline: 1px solid transparent; -webkit-transform-origin: 0px 0px 0px; transform-origin: 0px 0px 0px; -webkit-transform: matrix3d(0.646130241234503, 0.00815882858721858, 0, 0.000003783820762478, -0.033901102438815, 0.560389135504825, 0, -0.000062320701669039, 0, 0, 1, 0, 220, 289, 0, 1); transform: matrix3d(0.646130241234503, 0.00815882858721858, 0, 0.000003783820762478, -0.033901102438815, 0.560389135504825, 0, -0.000062320701669039, 0, 0, 1, 0, 220, 289, 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; animation: inNext 0.5s forwards; } .slideshow__item.out--next { -webkit-animation: outNext 0.5s forwards; animation: outNext 0.5s forwards; } .slideshow__item.in--prev { -webkit-animation: inPrev 0.5s forwards; animation: inPrev 0.5s forwards; } .slideshow__item.out--prev { -webkit-animation: outPrev 0.5s forwards; animation: outPrev 0.5s forwards; } @-webkit-keyframes inPrev { 0% { -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } 100% { -webkit-transform: none; transform: none; } } @keyframes inPrev { 0% { -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } 100% { -webkit-transform: none; transform: none; } } @-webkit-keyframes inNext { 0% { -webkit-transform: scale3d(0.5, 0.5, 1); transform: scale3d(0.5, 0.5, 1); } 100% { -webkit-transform: none; transform: none; } } @keyframes inNext { 0% { -webkit-transform: scale3d(0.5, 0.5, 1); transform: scale3d(0.5, 0.5, 1); } 100% { -webkit-transform: none; transform: none; } } @-webkit-keyframes outPrev { 100% { -webkit-transform: scale3d(0.5, 0.5, 1); transform: scale3d(0.5, 0.5, 1); } } @keyframes outPrev { 100% { -webkit-transform: scale3d(0.5, 0.5, 1); transform: scale3d(0.5, 0.5, 1); } } @-webkit-keyframes outNext { 100% { -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } } @keyframes outNext { 100% { -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } }