Domača » Kodiranje » Pogled v 2D transformacije CSS3

    Pogled v 2D transformacije CSS3

    Ta članek je del našega "Serija vadnic HTML5 / CSS3" - namenjen vam je za boljšega oblikovalca in / ali razvijalca. Klikni tukaj da si ogledate več člankov iz iste serije.

    The Modul transformacije je izjemen dodatek v CSS3, potrebuje način, kako manipuliramo elemente na spletni strani na naslednjo raven.

    Obstaja nekaj poskusov, ki me resnično presenetijo, primeri, kot je ta. Vendar pa ne bomo zgradili nekaj takega kot ikono samo za CSS, ki se lahko nekako spremeni v Autobot, saj je lahko preobremenjena in ni povsem uporabna tudi v resničnem življenju..

    Namesto tega bomo tokrat naredili korak nazaj in pregledali osnove CSS3 2D Transformations, da bi videli, kako deluje na temeljni ravni.

    Sintaksa

    Modul CSS3 Transformations nam v osnovi omogoča preoblikovanje elementa v določeni meri, kot je prevajanje, skaliranje, vrtenje in poševnost.

    Uradna sintaksa je transformacija: metoda (vrednost). Vendar pa, tako kot vsi drugi veliki dodatki CSS3, ki so še v zgodnjih fazah, trenutni brskalniki še vedno potrebujejo različico sintakse za izvajanje transformacij. Torej bi bila popolna sintaksa taka:

     transform: metoda (vrednost); / * W3C Uradna sintaksa * / -o-transform: metoda (vrednost); / * Opera 10.5+ * / -ms-transform: metoda (vrednost); / * Internet Explorer 9.0+ * / -moz-transform: metoda (vrednost); / * Firefox 3.6+ * / -webkit-transform: metoda (vrednost); / * Chrome / Safari 3.2+ * / 

    Tudi metoda, ki se nanaša na zgoraj, je transformacijske funkcije, ki jih je mogoče nadomestiti z enim od naslednjih: prevesti(), lestvica (), zavrti () ali poševno ().

    Vrednost

    Večina vrednosti metode bo ustrezala vrednosti Os X in Y-os. Če se spomnite kartezičnega koordinatnega sistema iz matematičnega razreda v srednji šoli, je osnovno načelo precej podobno, os X predstavlja vodoravno in Y-os predstavlja navpično vrstico.

    Razen rotacij. The rotacija bo uporabil polarne koordinate ki je izražena v stopinjah, ki segajo od 0 do 360.

    Vrednosti za vse metode so lahko negativne ali pozitivne. Vzemite si beležko, čeprav se spletna stran zaporedno bere od vrha do dna, zaradi česar os Y v spletu deluje nasprotno od prvotnega načela kartezičnih koordinat. To pomeni, da ko dodate negativno vrednost Y-os, namesto tega se bo premaknila na vrh.

    Uporaba preoblikovanj

    Zdaj pa si oglejmo naslednji osnovni prikaz, da bi videli transformacijo v akciji.

    Prevajam

    Ne prekrivajte se z izrazom prevesti, ne bo prevajal tujega jezika. The prevesti tukaj je dejansko metoda za premikanje elementov v neki smeri.

    Metoda vsebuje dve vrednosti; X in Y. Vrednost X kot smo poudarili zgoraj, bo element vodoravno; levo ali desno, medtem ko Y vrednost jo bo vzela navpično spodaj ali na vrh.

    V nadaljevanju si oglejte nekaj preprostih predstavitev:

     div širina: 100px; višina: 100px; transform: translate (100px, 250px);  

    Odrezek zgoraj bo premaknil element za 100px v desno in 250px na dno.

     div širina: 100px; višina: 100px; transform: translate (100px, 0);  

    Zgornji odrezek bo element premaknil desno za 100px, ker osi Y nastavljamo na ničlo. Če želimo element premakniti levo, moramo os X določiti le v negativu, kot sledi:

     div širina: 100px; višina: 100px; transform: translate (-100px, 0);  
    • Predstavitev »Prevedi«

    S temi individualnimi metodami lahko element premikamo v eni smeri; translateX () in translateY (), razlika je, da vsaka od teh metod sprejema samo eno vrednost.

    Torej, praktično rečeno, transformiraj: prevedi (-100px, 0) je enako transform: translateX (-100px).

    II - Lestvica

    The lestvice metoda nam omogoča Povečajte ali zmanjšajte dejanske velikosti. Vrednost lestvice je enaka vrednosti prevesti Metoda zgoraj vsebuje tudi X in Y. Edina razlika je, da enote ne podamo. Tukaj je primer:

     div širina: 100px; višina: 100px; transformacija: lestvica (1.5);  

    Zgornji primer bo povečal div 1.5 ali 150% njegove dejanske velikosti, in ker jo enakomerno merimo za smeri X in Y, jo moramo le deklarirati v eni vrednosti. Lahko jo tudi razglasite transformacija: lestvica (1,5,1,5); če želite iti bolj podrobno, bo to storilo enako.

    Poleg tega, če želimo zmanjšati element, bi posebej uporabili vrednost od 0,999 do absolutne 0, kot je primer spodaj, ki bo zmanjšala velikost div za 50% ali polovico:

     div širina: 100px; višina: 100px; transformacija: lestvica (0.5);  

    Vendar bodite previdni, če nastavite vrednost kot absolutno “0” div bo izginil, zato, če nimaš utemeljenega razloga za to, ne bi priporočal tega.

    • "Scale" demo

    III - Zavrti

    Kot smo že omenili na tem mestu, je zavrti metoda uporablja polarne koordinate, zato je vrednost navedena v stopinjah. Tukaj sta dva primera

    Odrezek spodaj bo zavrtel div 30 stopinj v smeri urinega kazalca.

     div širina: 100px; višina: 100px; transform: rotate (30deg);  

    Negativna vrednost, kot je prikazana v spodnjem primeru, bo zavrtela div v nasprotni smeri (v nasprotni smeri urinega kazalca) na isti stopnji.

     div širina: 100px; višina: 100px; transform: rotate (-30deg);  
    • "Rotate" demo

    IV - Nakriv

    The poševno Metoda nam omogoča ustvarjanje neke vrste paralelograma. Vsebuje tudi dve vrednosti osi X in Y. Vendar pa je sama vrednost navedena v stopnji, namesto linearnih meritev, kot jih uporabljamo za lestvice ali prevesti metodo. Tukaj je primer:

     div širina: 200px; višina: 100px; transform: skew (30deg, 10deg);  
    • "Skew" demo

    V - večkratna metoda

    The transform lastnost ni omejena na obravnavo samo ene metode, dejansko lahko v posamezne deklaracije vključimo več metod, na primer:

     div širina: 100px; višina: 100px; transform: translateX (100px) vrtenje (45deg);  

    Zgornji odrezek bo element 100px premaknil v desno in se obenem obrnil za 45 stopinj.

    Predstavitev »Več načinov«.

    Izvor preoblikovanja

    The transfrom - kot nakazuje njegovo ime - se uporablja za nadzor izhodiščne točke transformacije. Če te lastnosti izrecno ne deklariramo z naslednjo sintakso izvor transformacije: X Y;, potem bo brskalnik prevzel privzeto vrednost, ki je 50% za X in 50% za Y.

    Zdaj, če določimo transformacije do 0 (X) 0 (Y) se bo transformacija začela na zgornji levi strani.

    Ponovno, vsi brskalniki še vedno potrebujejo predpono, da jo imenujejo. Torej, tukaj je popolna različica, ki zagotavlja, da deluje v večini trenutnih brskalnikov:

     -izvor webkit-transform-a: X Y; -moz-transform-origin: X Y; -o-transform-origin: X Y; -ms-transform-origin: X Y; izvor transformacije: X Y; 
    • "Transform-origin" demo

    Zaključek

    Prišli smo skozi vse štiri bistvene metode preoblikovanja; prevajati, meriti, vrteti in nagniti

    Vendar, kot že omenjeno, je ta modul še vedno v začetni fazi, tako da, če boste uporabili te metode na vaši naslednji spletni strani, se prepričajte, da se dobro razgradi za nezdružljive brskalnike (tukaj ne govorim o IE6).

    Končno si lahko ogledate celoten demo ali prenesete vir iz naslednjih povezav.

    • Demo
    • Prenesi vir