Nykyaikaisessa verkossa on lukuisia tekniikoita, joiden avulla voidaan luoda mielenkiintoisia vuorovaikutuksia, mutta yksinkertaisimmista ja tyylikkäimmistä on yleensä CSS ja erityisesti CSS3: n mukana tulevat lisäykset.
Vanhojen päivien aikana jouduttiin luottamaan JavaScriptin tällaisiin vaikutuksiin, mutta CSS3: n kaikkien selainten tukemisen ansiosta on nyt mahdollista luoda tällaisia tehosteita ilman minkäänlaista komentosarjaa. On valitettavasti edelleen selaimia (IE9 ja sitä alhaisempi), jotka eivät tue CSS3: ta, joten sinun on joko varattava vanhoille selaimille tai kohdattava vaikutus progressiivisena lisälaitteena.
Tänään tarkastelemme, kuinka voimme soveltaa viileitä, mutta siistit hover-efektit näyttääksesi ja piilottaaksemme kuvia kuvateksteissä.
Jos haluat noudattaa koodia yhdessä, voit lataa tiedostot täältä.
Ensimmäinen demo on yksinkertaisin: kuva lentää oikealle paljastaakseen kuvatekstin.
CSS: lle asetamme suhteellisen paikannuksen demo-1- luokkaamme ja asetetaan sitten leveys ja korkeus . Piilotamme myös ylivuotot. Olen myös asettanut joitain perusstylejä h2- ja p- tunnisteihini sekä kuvakoodini. Nyt vaikutusluokallemme asetamme asemoinnin ehdottomaksi ja antamalla sille -15px: n marginaalin ylhäältä ja alhaalta. Käytämme CSS3: n siirtymistä sujuvan vaikutuksen aikaansaamiseksi. Meidän CSS näyttää tältä:
.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}
Toinen demo näyttää kuvan liukuvan. Tämä tarkoittaa sitä, että hiirellä hiirellä kuvan päälle kuvion yläpuolella ilmestyy otsikko.
Meidän CSS on melkein sama kuin ensimmäinen demo, paitsi että tällä kertaa siirrämme kuvaa alaspäin asettamalla omaisuus alhaalta -96px. Käytämme myös CSS3: n siirtymistä sujuvan vaikutuksen aikaansaamiseksi:
.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}
Viimeisen demojamme luomme kääntökorttivaikutuksen. Tämä tarkoittaa sitä, että hiirellä hiirtäsi kuvaan se pyörii sen akselin ympäri selvittääksesi kuvauksen.
CSS: ssä asetamme kuvakuvan suhteelliseen sijaintiin ja piilotamme tausta-näkyvyyden . Käytämme myös rotateY- muunnosta: -180 astetta figcaptionille ja vaihdamme sitten 180 astetta niin kuvan kuin kuvatekijän leikkauksen aikana :
.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)}