Koduleht » Kodeerimine » Kuidas luua nihutatud servi CSS-iga

    Kuidas luua nihutatud servi CSS-iga

    Selles postituses vaatame, kuidas me saame luua veebilehe nurgaäärse efekti (horisontaalselt). Põhimõtteliselt tundub see midagi sellist:

    Pisut nurga servaga peaks meie veebiplaan olema vähem jäik ja tühi. Selleks, et seda trikki teha, kasutame seda pseudoelemendid :: enne ja :: pärast ja CSS3 teisendus.

    Pseudoelementide kasutamine

    See meetod kasutab pseudoelemente :: enne ja :: pärast elemendi servade nurk. Selles näites kohandame alumist serva.

     .plokk kõrgus: 400 px; laius: 100%; positsioon: suhteline; taust: lineaarne gradient (paremale, rgba (241,231,103,1) 0%, rgba (254,182,69,1) 100%);  .block :: pärast sisu: ", laius: 100%, kõrgus: 100%, positsioon: absoluutne, taust: pärida, z-indeks: -1; alt: 0; transform-päritolu: vasakpoolne; (3deg); 

    Lähme tagasi.

    The teisenduse päritolu täpsustab selle elemendi koordinaadid, mida me tahame muuta. Ülaltoodud näites täpsustasime vasakule mis paneb algsed koordinaadid ploki vasakusse vasakusse serva.

    The transform: skewY (3deg); teeb selle :: pärast ploki viltus või nurk 3 kraadi juures. Kuna me määrasime alguskoordinaadi all vasakul, tõuseb ploki paremas allosas 3 kraadi. Kui me vahetame teisenduse päritolu kuni paremal ja vasakus nurgas tõstetakse selle asemel 3 kraadi.

    Tulemuse nägemiseks saate lisada värvilise tausta või gradiendi.

    Tee see Sass Mixini abil lihtsamaks

    Selle lihtsustamiseks olen loonud Sass mixini, et lisada nurkade servad miinus peavalud, mis on seotud stiilieeskirjade keerukusega. Järgneva seguga saate kiiresti määrata külje - üleval vasakul, üleval paremal, alumises või alumises paremas servas.

     @mixin nurgaäär ($ pos-top: null, $ nurk-top: null, $ pos-btm: null, $ nurk-btm: null) laius: 100%; positsioon: suhteline; taust: lineaarne gradient (paremale, rgba (241,231,103,1) 0%, rgba (254,182,69,1) 100%); & :: before, & :: pärast sisu: ", laius: 100%, kõrgus: 100%, positsioon: absoluutne, taust: pärida, z-indeks: -1, üleminek: leevendab kõiki .5s; @if $ pos-top & :: enne @if $ pos-top == 'ülaltpoolt top: 0; transform-päritolu: parem ülemine; transform: skewY ($ nurk-top); @if $ pos-top = = 'topright' top: 0; transform-origin: vasakul ülal; transform: skewY (- $ nurk-top); @if $ pos-btm & :: pärast @if $ pos-btm == 'bottomleft' bottom: 0; transform-päritolu: parem alt; transform: skewY (- $ nurk-btm); teisendama: skewY ($ angle-btm); 

    Mixinis on neli muutujat. Kaks esimest muutujat, $ pos-top ja $ nurk-top, täpsustage alguskoordinaat ja kraad. Viimased kaks muutujat määravad koordinaat ja kraad Selle eest põhja pool.

    Kui täidate kõik neli muutujat, saate elemendi mõlema külje - ülemise ja alumise - nurga all.

    Kasutage Sassit @include süntaks, et sisestada segmendiks element. Allpool näete näiteid:

    Vale serva lisamiseks üleval vasakul pool:

     .plokk @include angle-edge (topleft, 3deg);  

    Vale serva lisamiseks paremalt alumine pool:

     .plokk @include angle-edge (alumine nurk), 3deg);  

    Vale serva lisamiseks üleval vasakul ja paremalt alumine pool:

     .plokk @keerige nurk (serva, 3deg, alumine, 3deg);  

    Allpool on demo koos kasutatud segistitega. Teise stiili ümberlülitamiseks valige valikukast.

    See ongi see!