Koduleht » Kodeerimine » Looge ainult CSS-i pilt, mis avaldab mõju läbipaistvate piiridega

    Looge ainult CSS-i pilt, mis avaldab mõju läbipaistvate piiridega

    A Ainult CSS-i pilt näitab mõju lahendada erinevalt. See on tegelikult üsna lihtne kodeerida disaini, milles pilt paistab silma (on üleujutatud) selle tugev taust -sa lihtsalt asetage pilt väiksema elemendi üle, millel on tugev taust.

    Saate sama tulemuse, kui kasutate läbipaistvad piirid, kus sa hoiad samasugune nagu esiplaanil ja lisada läbipaistvad piirid luua tühi ruum selleks, et esiplaanil oleks ülevool.

    Seal on mõningaid eeliseid viimase meetodi kasutamisel. Kuna tegemist on läbipaistvate piiridega, mis annavad ala, kus esiplaanil on võimalik ülevoolu üle minna, saame kontrollige ülevoolu suunda vasakule, paremale, ülemisele ja alumisele piirile. Samuti on sama suurus nii esiplaanil kui ka taustal lihtsustab mõlema elemendi üheaegset liigutamist kogu lehel.

    Lühidalt öeldes näeme, kuidas seda teha luua ainult CSS-i pilt, mis avaldab mõju kasutades a väiksem taust koos esiplaanil, millel on läbipaistvad piirid. Võite vaadata lõplik demo allpool.

    1. Loo algkood

    HTML-tark, ainult üks

    on vajalik:

     

    CSSis kasutame kaks CSS-i muutujat, --bgc ja --hämar Selle eest taustavärv ja mõõtmed selle .foo konteinerisse. Näites kasutasin seda sama väärtusega ruudukujulise kasti laiuse ja kõrguse saamiseks looge erinevad muutujad kõrguse ja laiuse jaoks, kui soovite ristkülikut.

    Lisame ka positsioon: suhteline reegel .foo, nii et selle pseudoelemendid, mida me kasutame pildi paljastamine, võib olla absoluutselt paigutatud (vt allpool) ja seega üksteise peale virnastatud.

     .foo --bgc: # FFCC03; - dim: 300 px; laius: var (- dim); kõrgus: var (- dim); taustavärv: var (- bgc); positsioon: suhteline;  

    Me lisa tühi sisu vara mõlemale pseudoelemendile, .foo :: enne ja .foo :: pärast, neid nõuetekohaselt sulatada.

     .foo :: enne, .foo :: pärast content: "; positsioon: absoluutne; vasakul: 0; top: 0; 

    The .foo element, selle kaks pseudoelementi, .foo :: enne, .foo :: pärast, ja nende :hõljuma pseudo-klassid saa üleminek vara see on lisage lihtne üleminek neile 500 millisekundit (pool sekundit).

     .foo, .foo: hover, .foo :: enne, .foo :: after, .foo: hover :: enne, .foo: hover :: pärast üleminek: teisendage 500ms lihtne;  

    2. Lisage pilt

    Lisame pildi .foo :: enne pseudoelement taustapildina, ja suurus, et katta kogu pseudoelement koos laius ja kõrgus omadused. Me korstna see otse selle all .foo element kasutades z-indeks: -1 reegel.

     .foo :: enne laius: 100%; kõrgus: 100%; taust: url (camel.png) keskus / kate; z-indeks: -1;  

    The Keskus märksõna keskendub pildile, samal ajal kui katta märksõna skaala kujutist katta kogu elemendi säilitades oma kuvasuhte.

    Sisse allolev pilt näete, mida me seni oleme (z-indeks eemaldatakse .foo :: enne nii, et see oleks nähtav):

    3. Lisage väljalülitatud taust

    Selle lisamiseks pildi taga on väiksem (väljalülitatud) taust, me kasutame teist pseudoelementi, .foo :: pärast.

    Loome teise CSS muutuja, --b, Selle eest piiri laius. Me anname kolm läbipaistvat piiri Euroopa :: pärast pseudoelement: ülevalt, paremalt ja alt.

     .foo :: pärast - b: 20px; laius: calc (100% - var (- b)); kõrgus: calc (100% - arvutatud (var (- b) * 2)); piir: var (- b) tahke läbipaistev; piirjoon: mitte; box-shadow: sisend 0 var (- dim) 0 var (- bgc); filter: heledus (.8); z-indeks: -2;  

    The laius arvutatakse kui Calc (100% - var - b)) see naaseb kogu laius .foo miinus horisontaalsete piiride kogu laius (ainult paremal äärel, kuna pole vasakpoolset piiri).

    The kõrgus arvutatakse kui arvutatud (100% - arvutatud (var (- b) * 2)) see naaseb kogu kõrgus .foo miinus vertikaalsete piiride kogu laius (ülemine ja alumine piir).

    Koos kast-vari vara, me ka lisage horisontaalne varjupaik sama suurusega kui .foo (mis on var (- dim)).

    CSS-i filter heledus (.8) tumeneb taustavärvi natuke ja lõpuks z-indeks: -2 reegel asetab :: pärast pseudoelement :: enne mis sisaldab pilti.

    Siin on demo ekraanipilt siiani tehtud z-indeks eemaldatud mõlemast pseudo-elemendist, et neid saaks näha):

    4. Lisage transformatsioon

    Me lisa teisendada vara kahele pseudoelementile, nii et kui kasutaja hõivab üle .foo, mõlemad pseudoelemendid on liikunud horisontaalselt.

    Nagu me juba lisatud üleminek kõik elemendid 1. etapi lõpus on pildi ja selle tausta liikumine mõlemad on animeeritud.

     .foo: hover :: enne, .foo: hover :: pärast transform: translateX (100%);  

    Allpool on näha lõplik demo.

    Boonus: valikuline varu

    Kui kuvatakse .foo teiste elementide kõrval lehel ja soovivad, et need teised elemendid oleksid ära kolima siis, kui pilt ja selle taust libisevad välja lisage sama laiusega parempoolne marginaal .foo Euroopa .foo: hover element.

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