воскресенье, 5 февраля 2017 г.
CSS3 эффект для изображений при наведении (hover)
Здравствуйте, друзья. Есть у меня для вас отличный эффект для изображений с применением спецификации CSS3 и псевдокласса hover. При наведении курсора мыши на картинку, она превращается в 3D модель и, тем самым привлекает внимание. И что самое главное, создано это все без JS скриптов. А чтобы не тянуть кота за хвост предлагаю посмотреть пример.
Эффект объемного изображения
Я уже писал об анимации в и о возможностях использования CSS, но там говорилось скорее о базовых принципах, нежели о чем-то серьезном. Но здесь уже принципиальной новый уровень эффектов для изображений, которые можно реализовывать на сайтах, а о том, где именно, поговорим немного позже. HTML разметка будет такая:
1 2 3 4 5 6 7 | <div class="thumb"> <!-- Изображение --> <a href="#"> <!-- Надпись --> <span>Крутой Эффект При Наведении</span> </a> </div> |
В строковом параметре будет появляться надпись с торца картинки. А вот и сам CSS код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | .thumb { width: 740px; height: 400px; margin: 70px auto; perspective: 1000px; } .thumb a { display: block; width: 100%; height: 100%; /*double layered BG for lighting effect*/ background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url("images/6.jpg"); /*disabling the translucent black bg on the main image*/ background-size: 0, cover; /*3d space for children*/ transform-style: preserve-3d; transition: all 0.5s; } .thumb:hover a {transform: rotateX(80deg); transform-origin: bottom;} /*bottom surface */ .thumb a:after { /*36px high element positioned at the bottom of the image*/ content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 36px; /*inherit the main BG*/ background: inherit; background-size: cover, cover; /*draw the BG bottom up*/ background-position: bottom; /*rotate the surface 90deg on the bottom axis*/ transform: rotateX(90deg); transform-origin: bottom; } /*label style*/ .thumb a span { color: white; text-transform: uppercase; position: absolute; top: 100%; left: 0; width: 100%; font: bold 12px/36px Arial; text-align: center; /*the rotation is a bit less than the bottom surface to avoid flickering*/ transform: rotateX(-89.99deg); transform-origin: top; z-index: 1; } /*shadow*/ .thumb a:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); box-shadow: 0 0 100px 50px rgba(0, 0, 0, 0.5); transition: all 0.5s; /*by default the shadow will be almost flat, very transparent, scaled down with a large blur*/ opacity: 0.15; transform: rotateX(95deg) translateZ(-80px) scale(0.75); transform-origin: bottom; } .thumb:hover a:before { opacity: 1; /*blurred effect using box shadow as filter: blur is not supported in all browsers*/ box-shadow: 0 0 25px 25px rgba(0, 0, 0, 0.5); /*pushing the shadow down and scaling it down to size*/ transform: rotateX(0) translateZ(-60px) scale(0.85); } |
На мой взгляд получилось прикольное изображение с 3д эффектом, но остается один вопрос: где можно его применять? Самым подходящим местом будет, я считаю, на одностраничниках, их задача как раз сфокусировать посетителя на каком-то объекте, а этот hover эффект для изображений подойдет как нельзя лучше. На основных сайтах, блогах им, конечно, не место. например у себя я бы не стал такое размещать. Красиво? Безусловно, но здесь не какое-нибудь портфолио, а в большей степени информационный контент. Поэтому не нужно вставлять это для того, что бы просто было туда, где это не совсем уместно. И в завершении предлагаю скачать папку со всеми файлами.












0 коммент.:
Отправить комментарий