Kotisivu » Coding » Katso CSS3 n 2D-muunnokset

    Katso CSS3 n 2D-muunnokset

    Tämä artikkeli on osa meidän "HTML5 / CSS3-oppaiden sarja" - omistettu auttamaan sinua parantamaan suunnittelijaa ja / tai kehittäjää. Klikkaa tästä nähdä lisää saman sarjan artikkeleita.

    Muunnosmoduuli on valtava lisä CSS3: ssa, se vie tapaa käsitellä verkkosivuston elementtejä seuraavalle tasolle.

    On joitakin kokeita, jotka todella hämmästyttävät minua, esimerkkejä tästä. Emme kuitenkaan aio rakentaa sellaista kuin vain CSS-kuvaketta, joka voi jotenkin muuttua Autobotiksi, koska se voi olla ylivoimainen ja melko käyttökelpoinen myös todellisessa elämässä.

    Sen sijaan tulemme tällä kertaa taaksepäin ja tarkistamme CSS3-2D-muunnosten perusteet nähdäksesi, miten se toimii perustasolla.

    Syntaksi

    CSS3-muunnosmoduuli pohjimmiltaan antaa meille mahdollisuuden muuntaa elementti jossain määrin, kuten kääntäminen, skaalaus, pyörittäminen ja vinoutuminen.

    Virallinen syntaksi on muunnos: menetelmä (arvo). Kuten kaikki muutkin CSS3: n suuret lisäykset, jotka ovat vielä alkuvaiheessa, nykyiset selaimet tarvitsevat edelleen syntaksiversiota muunnosten suorittamiseksi. Koko syntaksi osoittautuu näin:

     muunnos: menetelmä (arvo); / * W3C virallinen syntaksi * / -o-muunnos: menetelmä (arvo); / * Opera 10.5+ * / -ms-transform: menetelmä (arvo); / * Internet Explorer 9.0+ * / -moz-transform: menetelmä (arvo); / * Firefox 3.6+ * / -webkit-transform: menetelmä (arvo); / * Chrome / Safari 3.2+ * / 

    Myös edellä mainittua menetelmää käytetään muunnos-toiminnot, joka voidaan korvata jollakin seuraavista: Kääntää(), asteikko (), kiertää() tai vinossa().

    Arvo

    Suurin osa menetelmän arvosta vastaa X-akseli ja Y-akseli. Jos muistat Cartesian koordinaattijärjestelmän Math-luokastasi lukiossa, perusperiaate on aivan samanlainen, X-akseli edustaa vaakasuora ja Y-akseli edustavat pystysuora linja.

    Lukuun ottamatta kiertoja. kierto käyttää polaarikoordinaatit joka ilmaistaan ​​asteina, jotka vaihtelevat välillä 0 - 360.

    Kaikkien menetelmien arvot voivat olla sekä negatiivisia että positiivisia. Huomioi kuitenkin vain, koska verkkosivu luetaan peräkkäin ylhäältä alas, mikä tekee Y-akselista Webissä päinvastaisen kuin alkuperäisen peruskorjauksen periaatteen. Tämä tarkoittaa, että kun lisäät negatiivisen arvon Y-akseli, se siirtyy sen sijaan yläreunaan.

    Muunnosten käyttö

    Tarkastellaan nyt seuraavaa perustutkimusta, jolla näet Transformation toiminnassa.

    Minä käännän

    Älä pilvistä termiä Kääntää, se ei käännä vieraita kieliä. Kääntää Tässä on itse asiassa menetelmä elementtien liikuttamiseksi jollakin tavalla.

    Menetelmä sisältää kaksi arvoa; X ja Y. X-arvo kuten edellä huomautimme, vie elementti vaakasuoraan; vasemmalle tai oikealle, samalla kun Y arvo vie sen pystysuunnassa pohjaan tai yläosaan.

    Katsotaan nyt seuraavia yksinkertaisia ​​esittelyjä:

     div leveys: 100px; korkeus: 100px; muunnos: kääntää (100px, 250px);  

    Yllä oleva katkaisu siirtää elementin 100px oikealle ja 250 pikseliä alhaalle.

     div leveys: 100px; korkeus: 100px; muunnos: kääntää (100px, 0);  

    Yllä oleva katkaisu siirtää elementin oikealle 100px: lle, koska nollaamme Y-akselin. Jos sitten haluamme siirtää elementin vasemmalle, sinun on vain asetettava X-akseli negatiiviseksi seuraavasti:

     div leveys: 100px; korkeus: 100px; muunnos: kääntää (-100px, 0);  
    • "Käännä" demo

    Vaihtoehtoisesti voimme siirtää elementtiä yhdessä suunnassa näiden yksittäisten menetelmien avulla; translateX () ja translateY (), ero on, että kukin näistä menetelmistä hyväksyy vain yhden arvon.

    Joten käytännöllisesti katsoen muuntaa: kääntää (-100px, 0) on myös yhtä suuri muunnos: translateX (-100px).

    II - Skaalaus

    asteikko menetelmä antaa meille mahdollisuuden suurentaa tai pienentää elementtejä sen todellisesta koosta. Mittakaavan arvo on sama kuin Kääntää Yllä oleva menetelmä sisältää myös X: n ja Y: n. Ainoa ero on, että emme määritä yksikköä. Tässä on esimerkki:

     div leveys: 100px; korkeus: 100px; muunnos: asteikko (1.5);  

    Yllä oleva esimerkki suurentaa div 1,5 tai 150% sen todellisen koon, ja koska se skaalataan tasaisesti sekä X- että Y-suuntaan, meidän on vain ilmoitettava se yhdellä arvolla. Voit myös ilmoittaa sen tällä tavalla muunnos: asteikko (1,5,1,5); jos haluat mennä yksityiskohtaisemmin, se vain tekee saman.

    Lisäksi, jos haluamme vähentää elementtiä, käytämme nimenomaan arvoa 0,999 - absoluuttinen 0, kuten alla oleva esimerkki, joka pienentää divin kokoa 50% tai puoleen:

     div leveys: 100px; korkeus: 100px; muunnos: asteikko (0,5);  

    Ole kuitenkin varovainen, jos asetat arvon absoluuttiseksi “0” div vain katoaa, joten jos sinulla ei ole perusteltua syytä tehdä niin, en suosittele sitä.

    • "Scale" demo

    III - Kierrä

    Kuten mainitsimme aiemmin tässä viestissä, kiertää menetelmä käyttää polaarikoordinaatteja, joten arvo ilmoitetaan asteina. Tässä on kaksi esimerkkiä

    Alla oleva pätkä pyörii div 30 astetta myötäpäivään.

     div leveys: 100px; korkeus: 100px; muunnos: kiertää (30deg);  

    Negatiivinen arvo, kuten alla olevassa esimerkissä on esitetty, pyörii div vastakkaiseen suuntaan (vastapäivään) samalla tasolla.

     div leveys: 100px; korkeus: 100px; muunnos: kiertää (-30deg);  
    • "Kierrä" demo

    IV - Vino

    vinossa Menetelmän avulla voimme luoda jonkinlaisen rinnak- Se sisältää myös kaksi X- ja Y-akselin arvoa. Itse arvo ilmoitetaan kuitenkin asteittain, eikä lineaaristen mittausten sijaan, joita käytämme asteikko tai Kääntää menetelmä. Tässä on esimerkki:

     div leveys: 200px; korkeus: 100px; muunnos: vinossa (30deg, 10deg);  
    • "Skew" demo

    V - Multiple-menetelmä

    muuttaa omaisuutta ei ole rajoitettu käsittelemään vain yhtä menetelmää, itse asiassa voimme sisällyttää useita menetelmiä yksittäisiin ilmoituksiin:

     div leveys: 100px; korkeus: 100px; muunnos: translateX (100px) pyörii (45deg);  

    Yllä oleva katkaisu siirtää elementin 100px oikealle ja samalla myös kiertää 45 astetta.

    "Useiden menetelmien" demo.

    Muuta alkuperää

    transfrom-alkuperää - kuten sen nimi viittaa - käytetään transformaation lähtökohdan ohjaamiseen. Jos emme nimenomaisesti julista tätä ominaisuutta seuraavalla syntaksilla muunnos-alkuperä: XY;, sitten selain ottaa oletusarvon, joka on 50% X: lle ja 50% Y: lle.

    Jos nyt määritetään muunnos-alkuperää 0 (X) 0 (Y), muunnos alkaa ylhäältä vasemmalta.

    Jälleen kaikki selaimet tarvitsevat edelleen etuliitteen version, jotta tämä ominaisuus kutsutaan. Tässä on siis täydellinen versio sen varmistamiseksi, että se toimii useimmissa uusissa selaimissa:

     -webkit-transform-origin: X Y; -moz-transform-origin: X Y; -o-transform-alkuperä: X Y; -ms-transform-origin: X Y; muunnos-alkuperä: XY; 
    • "Transform-origin" -demo

    johtopäätös

    Olemme tulleet läpi kaikki neljä olennaista muuntamismenetelmää; kääntää, skaalata, kiertää ja vinoutua

    Kuten mainittiin, tämä moduuli on kuitenkin vielä alkuvaiheessa, joten jos käytät näitä menetelmiä seuraavaan verkkosivustoon, varmista, että se hajoaa sulavasti yhteensopimattomille selaimille (en viittaa tähän IE6: een).

    Lopuksi voit tarkastella kaikkia demoja tai ladata lähteen seuraavista linkeistä.

    • esittely
    • Lataa lähde