Modern web'de ilginç etkileşimler oluşturmak için kullanılabilecek çok sayıda teknik vardır, ancak en basit ve en zarif olanı genellikle CSS'dir ve özellikle CSS3 ile gelen eklemelerdir.
Eski günlerde, bu tür bir etki için JavaScript'e güvenmemiz gerekiyordu, ancak tarayıcılar arasında CSS3 için sürekli artan destek sayesinde, artık herhangi bir komut dosyası oluşturmadan bu gibi efektler oluşturmak mümkün. CSS3'ü desteklemeyen, hala hizli tarayicilar (IE9 ve altta) vardir, bu nedenle ya eski tarayıcılar için bir geri çekilmeye ya da efektin ilerici bir artirma olarak ele alinmasi gerekir.
Bugün, resim yazılarını göstermek ve gizlemek için havalı, ancak temiz havada gezinme efektlerini nasıl uygulayacağımıza bakacağız.
Kodu takip etmeyi tercih ederseniz, dosyaları buradan indirin.
İlk demo en basit olanıdır: resim, altyazıyı ortaya çıkarmak için sağa uçacaktır.
CSS'miz için demo-1 sınıfımız için göreceli konum belirleyeceğiz ve ardından genişlik ve yüksekliği ayarlayacağız. Taşan unsurları da gizleyeceğiz. Ayrıca, benim h2 ve p etiketlerimin yanı sıra resim etiketlerim için bazı temel stiller ekledim . Şimdi etki sınıfımız için, konumlandırmayı mutlak olarak ayarlayacağız ve ona, üst ve alt tarafa -15 piksellik bir sınır tanıtacağız. Pürüzsüz bir etki yaratmak için CSS3'ün geçişini kullanacağız. Bizim CSS şöyle görünüyor:
.demo-1 {position:relative;width:300px;height:200px;overflow:hidden;float:left;margin-right:20px;background-color:rgba(26,76,110,0.5)}.demo-1 p,.demo-1 h2 {color:#fff;padding:10px;left:-20px;top:20px;position:relative}.demo-1 p {font-family:'Lato';font-size:12px;line-height:18px;margin:0}.demo-1 h2 {font-family:'Lato';font-size:20px;line-height:24px;margin:0;}.effect img {position:absolute;margin:-15px 0;right:0;top:0;cursor:pointer;-webkit-transition:top .4s ease-in-out,right .4s ease-in-out;-moz-transition:top .4s ease-in-out,right .4s ease-in-out;-o-transition:top .4s ease-in-out,right .4s ease-in-out;transition:top .4s ease-in-out,right .4s ease-in-out}.effect img.top:hover {top:-230px;right:-330px;padding-bottom:200px;padding-left:300px}
İkinci demomuz, resmin kayan olduğunu gösterecek. Bu, farenizi resmin üzerine getirdiğinizde, altyazının üstte görüntüleneceği anlamına gelir.
CSS'miz ilk demo ile hemen hemen aynı olacak, ancak bu kez görüntüyü aşağıya -96px değerine ayarlayarak görüntüyü aşağı doğru hareket ettireceğiz. Pürüzsüz bir etki yaratmak için CSS3'ün geçişini de kullanacağız:
.demo-2 {position:relative;width:300px;height:200px;overflow:hidden;float:left;margin-right:20px;background-color:rgba(26,76,110,0.5)}.demo-2 p,.demo-2 h2 {color:#fff;padding:10px;left:-20px;top:20px;position:relative}.demo-2 p {font-family:'Lato';font-size:12px;line-height:18px;margin:0}.demo-2 h2 {font-size:20px;line-height:24px;margin:0;font-family:'Lato'}.effect img {position:absolute;left:0;bottom:0;cursor:pointer;margin:-12px 0;-webkit-transition:bottom .3s ease-in-out;-moz-transition:bottom .3s ease-in-out;-o-transition:bottom .3s ease-in-out;transition:bottom .3s ease-in-out}.effect img.top:hover {bottom:-96px;padding-top:100px}h2.zero,p.zero {margin:0;padding:0}
Son demomuz için, saygısız bir kart efekti oluşturacağız. Bu, farenizi resmin üzerine getirdiğinizde, açıklamayı ortaya çıkarmak için kendi ekseni etrafında döneceği anlamına gelir.
CSS'mizde, şekil görüntüsünü göreli bir konuma ayarlayacağız ve ardından arka görüş alanını gizleyeceğiz. Ayrıca döndürme için -180 derece döndürme dönüşümünü kullanacağız ve ardından hem resim hem de resim yazısı için 180 derece değiştireceğiz:
.demo-3 {position:relative;width:300px;height:200px;overflow:hidden;float:left;margin-right:20px}.demo-3 figure {margin:0;padding:0;position:relative;cursor:pointer;margin-left:-50px}.demo-3 figure img {display:block;position:relative;z-index:10;margin:-15px 0}.demo-3 figure figcaption {display:block;position:absolute;z-index:5;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.demo-3 figure h2 {font-family:'Lato';color:#fff;font-size:20px;text-align:left}.demo-3 figure p {display:block;font-family:'Lato';font-size:12px;line-height:18px;margin:0;color:#fff;text-align:left}.demo-3 figure figcaption {top:0;left:0;width:100%;height:100%;padding:29px 44px;background-color:rgba(26,76,110,0.5);text-align:center;backface-visibility:hidden;-webkit-transform:rotateY(-180deg);-moz-transform:rotateY(-180deg);transform:rotateY(-180deg);-webkit-transition:all .5s;-moz-transition:all .5s;transition:all .5s}.demo-3 figure img {backface-visibility:hidden;-webkit-transition:all .5s;-moz-transition:all .5s;transition:all .5s}.demo-3 figure:hover img,figure.hover img {-webkit-transform:rotateY(180deg);-moz-transform:rotateY(180deg);transform:rotateY(180deg)}.demo-3 figure:hover figcaption,figure.hover figcaption {-webkit-transform:rotateY(0);-moz-transform:rotateY(0);transform:rotateY(0)}