#javascript #html #css
Пример Бэкграунд слайдера, когда картинка плавно увеличивается в размерах сама по себе. .container3 { background: -webkit-gradient(linear, left top, left bottom, color-stop(100%, rgba(0, 0, 0, .5)), color-stop(50%, transparent)), url(../img/main-screen.jpg); background: linear-gradient(180deg, rgba(0, 0, 0, .5) 100%, transparent 50%), url(../img/main-screen.jpg); width: 100vw; height: 100vh; background-repeat: no-repeat; background-size: 100% auto; background-attachment: fixed; animation-duration: 20s; /*Время анимации*/ animation-name: bgsize; animation-timing-function: linear; overflow: hidden; } @keyframes bgsize { to {background-size: 300% auto;} }
Ответы
Ответ 1
Такая анимация, даже в VK (соц.сеть), сделана на CSS с использованием @keyframes анимации. Вот пример реализации. body { width: 100vw; height: 100vh; overflow: hidden; background: url('https://images.pexels.com/photos/8633/nature-tree-green-pine.jpg') no-repeat center center / 100% auto; animation-duration: 20s; /*Время анимации*/ animation-name: bgsize; animation-timing-function: linear; animation-fill-mode: forwards; } @keyframes bgsize { to {background-size: 300% auto;} } Конкретно для img .img-sizing { width: 300px; height: 300px; overflow: hidden; position: relative; } .img-sizing img { width: 100%; height: 100%; object-fit: cover; animation-duration: 20s; /*Время анимации*/ animation-name: imgsize; animation-timing-function: linear; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; animation-fill-mode: forwards; } @keyframes imgsize { to { width: 300%; height: 300%; left: -150%; top: -150%; } }Ответ 2
Я не знаю точно как называется этот эффект, но такого эффекта можно достичь с помощью js или css анимации. В вашем случае я бы выбрал css-анимацию и сделал бы так img { animation-duration: 10s; animation-name: move; animation-iteration-count: infinite; } @keyframes move { from { transform: scale(1); } to { transform: scale(1.2); } }
Комментариев нет:
Отправить комментарий