Вариант 4
Варианты со свингом.
Вариант A со шрифтов FontAwesome и горизонтальным свингом.
Вариант B c графической иконкой zoom.png и вертикальным свингом.
Горизонтальный свинг и шрифт: a

Вертикальный свинг и иконка: b


<div class=«hover-image-4»> <a href=«image-large.jpg»> <img src=«image.jpg»alt=«» /> <i class=«fa fa-search»></i> </a> </div> |
<div class=«hover-image-4»> <a href=«image-large.jpg»> <img src=«image.jpg»alt=«» /> <img src=«zoom.png»alt=«» /> </a> </div> |
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 58 59 60 61 62 63 | .hover-image-4 * { box-sizing:border-box; } .hover-image-4 a { position:relative; overflow:hidden; display:inline-block; } .hover-image-4 a:hover img:first-child { animation:swing0.6sease; } .hover-image-4 img img, .hover-image-4 img i { display:block; position:absolute; top:-100px; right:20px; width:64px; height:64px; color:#FFF; font-size:64px; text-align:center; transition:all0.5sease-in-out; filter:drop-shadow(006px#CCC); } .hover-image-4 a:hover img img, .hover-image-4 a:hover img i { animation:fromtop0.6seaseforwards; } @keyframes fromtop { 30% { top:-100px; } 50% { top:calc(100%—84px); } 65% { top:calc(100%—110px); } 100% { top:calc(100%—84px); } } @keyframes swing { 15% { transform:translateX(9px); } 30% { transform:translateX(-9px); } 40% { transform:translateX(6px); } 50% { transform:translateX(-6px); } 65% { transform:translateX(3px); } 100% { transform:translateX(0); } } |
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 58 59 60 61 62 63 | .hover-image-4 * { box-sizing:border-box; } .hover-image-4 a { position:relative; overflow:hidden; display:inline-block; } .hover-image-4 a:hover img:first-child { animation:swing0.6sease; } .hover-image-4 img img, .hover-image-4 img i { display:block; position:absolute; top:-100px; right:20px; width:64px; height:64px; color:#FFF; font-size:64px; text-align:center; transition:all0.5sease-in-out; filter:drop-shadow(006px#CCC); } .hover-image-4 a:hover img img, .hover-image-4 a:hover img i { animation:fromtop0.6seaseforwards; } @keyframes fromtop { 30% { top:-100px; } 50% { top:calc(100%—84px); } 65% { top:calc(100%—110px); } 100% { top:calc(100%—84px); } } @keyframes swing { 15% { transform:translateY(9px); } 30% { transform:translateY(-9px); } 40% { transform:translateY(6px); } 50% { transform:translateY(-6px); } 65% { transform:translateY(3px); } 100% { transform:translateY(0); } } |
Вариант 5
Классический ховер-эффект с полосками, который изменил немного под себя.
Пример имеет 2 варианта иконки увеличения изображения — это шрифт FontAwesome и графическая zoom.png.
Шрифт fontawesome: a

Графическая иконка: b


<div class=«hover-image-5»> <a href=«image-large»> <img src=«image.jpg»alt=«» /> <div> <i class=«fa fa-search»></i> </div> </a> </div> |
<div class=«hover-image-5»> <a href=«image-large»> <img src=«image.jpg»alt=«» /> <div> <img src=«zoom.png»alt=«» /> </div> </a> </div> |
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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | .hover-image-5 a { position:relative; z-index:1; display:inline-block; overflow:hidden; height:auto; text-align:center; background:#bfe2ff; } .hover-image-5 a img { opacity:1; transition:opacity0.5s; position:relative; max-width:100%; height:auto; display:block; } .hover-image-5 a:hover img { opacity:0.5; } .hover-image-5 a div { position:absolute; top:0; left:0; width:100%; height:100%; } .hover-image-5 a div::before, .hover-image-5 a div::after { position:absolute; top:20px; right:20px; bottom:20px; left:20px; content:«»; opacity:0; transition:opacity0.5s,transform0.5s; pointer-events:none; } .hover-image-5 a div::before { border-top:2pxsolid#fff; border-bottom:2pxsolid#fff; transform:scale(0,1); } .hover-image-5 a div::after { border-right:2pxsolid#fff; border-left:2pxsolid#fff; transform:scale(1,0); } .hover-image-5 a:hover div::before, .hover-image-5 a:hover div::after { opacity:1; transform:scale(1); } .hover-image-5 div img, .hover-image-5 div i { display:block; position:absolute; top:50%; left:50%; margin-top:-24px; margin-left:-24px; width:48px; height:48px; transition:transform0.5sease0s; transform:scale(0); font-size:48px; color:#fff; } .hover-image-5 a:hover div img, .hover-image-5 a:hover div i { transform:scale(1); opacity:1; } |
Вариант 6
Данный пример также имеет 2 варианта иконки увеличения изображения (шрифт FontAwesome и графическая zoom.png).
Шрифт fontawesome: a

Графическая иконка: b


<div class=«hover-image-6»> <a href=«image-large.jpg»> <img src=«image»alt=«» /> <i class=«fa fa-search»></i> </a> </div> |
<div class=«hover-image-6»> <a href=«image-large.jpg»> <img src=«image»alt=«» /> <img src=«zoom.png»alt=«» /> </a> </div> |
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 58 59 60 61 62 | .hover-image-6 { position:relative; overflow:hidden; display:inline-block; line-height:0; } .hover-image-6 a { vertical-align:middle; } .hover-image-6 img img, .hover-image-6 img i { display:block; position:absolute; top:50%; left:50%; margin-top:-32px; margin-left:-32px; width:64px; height:64px; transition:transform0.7sease0s; transform:scale(0); font-size:64px; color:#fff; z-index:1; } .hover-image-6 a:hover img img, .hover-image-6 a:hover img i { transform:scale(1); opacity:1; } .hover-image-6 a::before { transition:all0.5sease; content:«»; position:absolute; top:0; left:0; right:0; bottom:0; background:#bfe2ff; transform:scale(0); } .hover-image-6 a:hover::before { opacity:0.5; transform:scale(1); } .hover-image-6 a::after { transition:all0.6sease0.2s; content:«»; position:absolute; top:8px; left:8px; right:8px; bottom:8px; border:1pxsolid#aaa; background:#337ab7; opacity:0; transform:scale(0); } .hover-image-6 a:hover::after { opacity:0.35; transform:scale(1); } |
Вариант 7
Еще один пример с двумя вариантами иконки увеличения изображения (шрифт FontAwesome и графическая zoom.png).
Шрифт fontawesome: a

Графическая иконка: b


<div class=«hover-image-7»> <img src=«image.jpg»alt=«»/> <div> <i class=«fa fa-search»></i> <div class=«curl»></div> <a href=«image-large.jpg»></a> </div> </div> |
<div class=«hover-image-7»> <img src=«image.jpg»alt=«»/> <div> <img src=«zoom.png»alt=«» /> <div class=«curl»></div> <a href=«image-large.jpg»></a> </div> </div> |
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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | .hover-image-7 * { box-sizing:border-box; } .hover-image-7 { color:#fff; position:relative; overflow:hidden; display:inline-block; background:#337ab7; line-height:0; } .hover-image-7 img { opacity:1; transition:opacity0.35s; } .hover-image-7 > div { position:absolute; top:0; left:0; width:100%; height:100%; } .hover-image-7 > div::before { position:absolute; top:0; right:0; bottom:0; left:0; content:«»; opacity:0; transition:opacity0.4s; background-image:linear-gradient( 45deg, #337ab70%, transparent40%, rgba(255,255,255,0.15) ); } .hover-image-7:hover > div::before { opacity:1; } .hover-image-7 i, .hover-image-7 div img { transition:opacity0.35s; display:inline-block; font-size:36px; width:30px; height:30px; color:#fff; position:absolute; bottom:12px; left:12px; opacity:0; z-index:1; } .hover-image-7:hover i, .hover-image-7:hover div img { opacity:1; } .hover-image-7 .curl { width:0px; height:0px; position:absolute; bottom:0; left:0; background:linear-gradient( 225deg, #ffffff, #f3f3f320%, #bbbbbb38%, #aaaaaa44%, #88888850%, rgba(0,0,0,0.7)50%, rgba(0,0,0,0.4)60%, rgba(0,0,0,0.3) ); box-shadow:0010pxrgba(0,0,0,0.5); transition:all0.4sease; } .hover-image-7 .curl:before, .hover-image-7 .curl:after { content:«»; position:absolute; z-index:-1; left:12%; bottom:6%; width:70%; max-width:300px; max-height:100px; height:55%; box-shadow:012px15pxrgba(0,0,0,0.3); transform:skew(-10deg)rotate(-6deg); } .hover-image-7 .curl:after { left:auto; right:6%; bottom:auto; top:14%; transform:skew(-15deg)rotate(-84deg); } .hover-image-7 a { left:0; right:0; top:0; bottom:0; position:absolute; } .hover-image-7:hover .curl { width:90px; height:90px; } |