Kotisivu » Coding » Luo CSS-vain kuva, joka paljastaa läpinäkyvien reunojen vaikutuksen

    Luo CSS-vain kuva, joka paljastaa läpinäkyvien reunojen vaikutuksen

    CSS-vain kuva paljastaa vaikutuksen voidaan ratkaista eri tavoin. On itse asiassa melko helppoa koodata mallia, jossa kuva erottuu (on täynnä) sen vankka tausta -sinä vain sijoita kuva yli pienemmän elementin, jolla on vankka tausta.

    Saat saman tuloksen, jos käytät avoimia rajoja, missä pidät taustaelementin koko on sama kuten etualalla ja lisätä läpinäkyviä rajoja luo tyhjä tila etualan ylivuotoon.

    On jälkimmäisen menetelmän käytön edut. Koska se on läpinäkyviä rajoja, jotka tarjoavat alueen etualalle ylivuotoon, voimme hallita ylivuoton suuntaa vasemman, oikean, ylä- ja alareunan välillä. Saman kokoinen sekä etualalle että taustalle helpottaa molempien elementtien siirtämistä samanaikaisesti koko sivun.

    Lyhyesti sanottuna näemme miten luoda vain CSS-kuva, joka paljastaa vaikutuksen käyttää pienempi kiinteä tausta kanssa etualan kuva, jossa on läpinäkyviä rajoja. Voit tarkistaa lopullinen demo alla.

    1. Luo alkuperäinen koodi

    HTML-viisas, Vain yksi

    vaaditaan:

     

    Käytämme CSS: ssä kaksi CSS-muuttujaa, --BGC ja --himmeä varten taustaväri ja mitat n .foo säiliöön. Esimerkissä käytin sama arvo luo neliön muotoisen laatikon leveys ja korkeus erilliset muuttujat korkeus ja leveys, jos haluat suorakulmaisen.

    Lisäämme myös kanta: suhteellinen sääntö .foo, niin että sen pseudoelementit, joita aiomme käyttää paljastaa kuva, voi olla täysin sijoitettu (katso alla) ja näin ollen pinottu toisilleen.

     .foo --bgc: # FFCC03; - dim: 300px; leveys: var (- himmeä); korkeus: var (- himmeä); taustaväri: var (- bgc); asema: suhteellinen;  

    Me lisää tyhjä pitoisuus omaisuus molemmille pseudoelementeille, .foo :: ennen ja .foo :: jälkeen, saada ne asianmukaisesti.

     .foo :: before, .foo :: jälkeen content: ", sijainti: absoluuttinen, vasen: 0; top: 0; 

    .foo elementti, sen kaksi pseudoelementtiä, .foo :: ennen, .foo :: jälkeen, ja heidän : hover näennäisluokkia saada siirtyminen omaisuus se tulee olemaan lisää siirtymävaihe heille 500 millisekuntia (puoli sekuntia).

     .foo, .foo: hover, .foo :: ennen, .foo :: after, .foo: hover :: ennen, .foo: hover :: jälkeen siirtyminen: muuntaa 500ms help-in;  

    2. Lisää kuva

    Lisäämme kuvan .foo :: ennen pseudo-elementti taustakuvana, ja kokoa koko pseudoelementin kattamiseksi kanssa leveys ja korkeus ominaisuudet. Me pinoa se suoraan alla .foo elementti käyttämällä z-indeksi: -1 sääntö.

     .foo :: ennen leveys: 100%; korkeus: 100%; tausta: url (camel.png) keskus / kansi; z-indeksi: -1;  

    keskusta avainsana keskittää kuvan, samalla kun peite avainsana skaalaa kuvan peittää koko elementin samalla säilyttäen sen kuvasuhteen.

    On alla oleva kuva voit nähdä, mitä meillä on tähän mennessä (z-index poistetaan .foo :: ennen niin, että se näkyy):

    3. Lisää liukuva tausta

    Voit lisätä pienempi (liukuva) tausta kuvan takana, käytämme toista pseudoelementtiä, .foo :: jälkeen.

    Luomme toisen CSS-muuttujan, --b, varten reunan leveys. Me annamme kolme läpinäkyvää reunaa että ::jälkeen pseudo-elementti: ylhäältä, oikealta ja pohjalta.

     .foo :: jälkeen - b: 20px; leveys: laskettu (100% - var (- b)); korkeus: laskettu (100% - laskettu (var (- b) * 2)); raja: var (- b) kiinteä läpinäkyvä; raja-vasen: ei; box-shadow: upotettu 0 var (- dim) 0 var (- bgc); suodatin: kirkkaus (.8); z-indeksi: -2;  

    leveys lasketaan Calc (100% - var - b)) että palaa kokonaisleveys .foo miinus sen horisontaalisten rajojen kokonaisleveys (vain oikea reunus, koska ei ole vasemmalla reunaa).

    korkeus lasketaan laskettu (100% - laskettu (var (- b) * 2)) että palaa kokonaiskorkeus .foo miinus sen pystysuorien rajojen kokonaisleveys (ylä- ja alareunat).

    Kanssa box-varjo omaisuutta, me myös lisää vaakasuora sisäänrakennettu varjo koko on sama kuin .foo (mikä on var (- dim)).

    CSS-suodatin kirkkaus (0,8) tummenee taustavärin vähän, ja lopuksi z-indeksi: -2 sääntö sijoittaa ::jälkeen pseudoelementti alla ::ennen joka sisältää kuvan.

    Tässä on demon näyttökuva toistaiseksi z-index poistettu molemmista pseudoelementeistä, jotta ne voidaan nähdä):

    4. Lisää muunnos

    Me lisää muuttaa omaisuus kahdelle pseudoelementille, joten kun käyttäjä siirtyy yli .foo, molemmat pseudoelementit ovat siirretty vaakasuoraan.

    Kuten me jo lisännyt siirtyminen omaisuutta kaikille elementeille vaiheen 1 lopussa kuvan ja sen taustan liike on sekä animoitu.

     .foo: hover :: ennen, .foo: hover :: sen jälkeen transform: translateX (100%);  

    Alla näet lopullinen demo.

    Bonus: Valinnainen marginaali

    Jos näyttöön tulee .foo muiden elementtien vieressä sivulla ja haluavat näiden muiden elementtien olevan muuttaa pois kun kuva ja sen tausta liukuvat sitten lisää oikea marginaali, jonka leveys on sama kuin .foo että .foo: hover elementti.

     .foo: hover margin-right: var (- dim);