Homepage » Coding » A CSS3 2D átalakítása

    A CSS3 2D átalakítása

    Ez a cikk a mi része "HTML5 / CSS3 oktatóanyagok sorozat" - szentelt, hogy segítsen neked egy jobb tervező és / vagy fejlesztő. Kattints ide több cikket láthat ugyanazon sorozatból.

    A Átalakítási modul a CSS3-ban óriási kiegészítés, a webhelyen lévő elemeket a következő szintre manipuláljuk.

    Vannak olyan kísérletek, amelyek igazán meglepnek, példák, mint ez. Azonban nem fogunk építeni olyan CSS-ikonra, amely valahogy Autobot-ra alakulhat át, mivel ez túlnyomó és nem igazán használható a való életben is.

    Ehelyett ezúttal visszafelé haladunk, és áttekintjük a CSS3 2D átalakítások alapjait, hogy megtudjuk, hogyan működik egy alapvető szinten.

    A szintaxis

    A CSS3 Transformations modul alapvetően lehetővé teszi, hogy bizonyos mértékig átalakítsunk egy elemet, például fordítást, skálázást, forgatást és ferdén.

    A hivatalos szintaxis transzformáció: módszer (érték). Azonban, mint bármely más CSS3 nagyszerű kiegészítés, amely még a korai szakaszban van, a jelenlegi böngészőknek még mindig szükségük van a szintaxis-változatra az átalakítások futtatásához. Tehát a teljes szintaxis így alakul ki:

     transzformáció: módszer (érték); / * W3C Hivatalos szintaxis * / -o-transzformáció: módszer (érték); / * Opera 10.5+ * / -ms-transzformáció: módszer (érték); / * Internet Explorer 9.0+ * / -moz-transform: módszer (érték); / * Firefox 3.6+ * / -webkit-transform: módszer (érték); / * Chrome / Safari 3.2+ * / 

    Továbbá a fentiekben hivatkozott módszer a transzformációs függvények, amely a következők egyikével helyettesíthető: fordít(), skála(), forog() vagy ferde().

    Az érték

    A módszer nagy része megfelel a X-tengely és Y-tengely. Ha a középiskolában a Mathes osztályban lévő derékszögű koordinátarendszert emlékszik meg, az alapelv nagyon hasonló, az X-tengely a vízszintes és az Y-tengely a függőleges vonal.

    A forgatás kivételével. A forgás fogja használni a poláris koordináták amely 0-tól 360-ig terjedő fokokban van kifejezve.

    Az összes módszer értéke lehet negatív vagy pozitív. Csak vegye fel a megjegyzést, mivel a weblapot sorrendben, felülről lefelé olvassuk, ami az Y-tengelyt a weben az ellentétben állja a derékszögű koordináták eredeti elvével. Ez azt jelenti, hogy ha negatív értéket ad hozzá Y-tengely, ehelyett a tetejére kerül.

    Az átalakítások használata

    Most nézzük meg a következő alapvető demonstrációt, hogy lássuk az átalakítást az akcióban.

    Fordítok

    Ne essen felhőkkel a kifejezéssel fordít, nem fordít idegen nyelvet. A fordít itt valójában egy elem az elemek mozgatására.

    A módszer két értéket tartalmaz; x és Y. a X érték ahogy fentebb rámutattunk, az elemet vízszintesen fogjuk elvenni; balra vagy jobbra, amíg a Y az érték függőlegesen veszi az alján vagy a tetején.

    Most nézzük meg az alábbi egyszerű bemutatókat:

     div szélesség: 100px; magasság: 100px; transzformálás: lefordítani (100px, 250px);  

    A fenti részlet a 100px-es elemet jobbra, a 250px-et pedig az aljára mozgatja.

     div szélesség: 100px; magasság: 100px; transzformálás: lefordítani (100px, 0);  

    A fenti részletrészlet csak 100px-re mozgatja az elemet, mert nullázzuk az Y tengelyt. Akkor, ha az elemet balra akarjuk mozgatni, akkor az X tengelyt csak negatívnak kell állítanunk, az alábbiak szerint:

     div szélesség: 100px; magasság: 100px; transzformálás: lefordítani (-100px, 0);  
    • "Fordítás" demó

    Alternatív megoldásként az egyes módszerek segítségével az irányt egyetlen irányban mozgathatjuk; translateX () és translateY (), a különbség mindegyik módszer csak egy értéket fogad el.

    Szóval, gyakorlatilag a átalakítás: lefordítani (-100px, 0) is egyenlő átalakítás: translateX (-100px).

    II - Skála

    A skála módszer lehetővé teszi számunkra nagyítani vagy csökkenteni az elemeket a tényleges méretétől. A skála értéke megegyezik a fordít A fenti módszerben X és Y is szerepel. Az egyetlen különbség az, hogy nem adjuk meg az egységet. Íme egy példa:

     div szélesség: 100px; magasság: 100px; transzformáció: skála (1.5);  

    A fenti példa megnöveli a div 1,5 vagy 150% tényleges méretét, és mivel az X és Y irányokra egyaránt méretezzük, csak egy értékben kell nyilatkoznunk. Ezt így is deklarálhatja transzformáció: skála (1,5,1,5); ha részletesebben akarsz menni, akkor csak ugyanaz lesz.

    Továbbá, ha csökkenteni szeretnénk az elemet, akkor kifejezetten 0,999-től 0-ig terjedő értéket használnánk, mint az alábbi példa, amely 50% -ra vagy félre csökkenti a div méretét:

     div szélesség: 100px; magasság: 100px; transzformáció: skála (0,5);  

    De légy óvatos, ha az értéket abszolút értékre állítja “0” a div csak eltűnik, így ha nincs megalapozott oka erre, nem javaslom, hogy csináljam.

    • "Scale" demó

    III - Forgatás

    Ahogy korábban említettük ezt a hozzászólást, a forog A módszer poláris koordinátákat használ, így az érték fokokban van megadva. Íme két példa

    Az alábbi töredék elforgatja a div 30 fok jobbra.

     div szélesség: 100px; magasság: 100px; transzformálás: forgatás (30deg);  

    A negatív érték, amint az alábbi példában látható, elfordul a div az ellenkező irányban (az óramutató járásával ellentétes irányban) ugyanolyan mértékben.

     div szélesség: 100px; magasság: 100px; transzformálás: forgatás (-30deg);  
    • "Forgatás" demó

    IV

    A ferde módszer lehetővé teszi számunkra, hogy egyfajta párhuzamosságot hozzunk létre. Az X és Y tengely két értékét is tartalmazza. Ugyanakkor maga az érték fokozatban van megadva, az olyan lineáris mérések helyett, mint amilyeneket az skála vagy a fordít eljárás. Íme egy példa:

     div szélesség: 200px; magasság: 100px; transzformáció: ferde (30deg, 10deg);  
    • "Skew" demó

    V - Többszörös módszer

    A átalakít a tulajdonságok nem korlátozódnak csak egy módszer kezelésére, sőt több módszert is tartalmazhat egyetlen deklarációban, így:

     div szélesség: 100px; magasság: 100px; transzformálás: translateX (100px) forog (45deg);  

    A fenti részlet a 100px elemet jobbra mozgatja, és ugyanakkor 45 fokot is forog.

    "Több módszer" demó.

    Az eredet átalakítása

    A transfrom származási - ahogy a neve is jelzi - az átalakítás kiindulási pontjának vezérlésére szolgál. Ha nem fejezzük ki kifejezetten ezt a tulajdonságot a következő szintaxissal transzformációs eredet: X Y;, akkor a böngésző az alapértelmezett értéket veszi fel, amely az X-re 50%, az Y pedig 50%.

    Most, ha megadjuk a transzformációs származási 0-ra (X) 0 (Y) a transzformáció a bal felső részről indul.

    Ismét minden böngészőnek szüksége van az előtag verziójára, hogy ezt a tulajdonságot hívhassa. Tehát itt van a teljes verzió, amely biztosítja, hogy a legtöbb böngészőben működik:

     -webkit-transform-origin: X Y; -moz-transzformációs eredet: X Y; -o-transzformációs eredet: X Y; -ms-transzformáció: X Y; transzformációs eredet: X Y; 
    • "Transform-origin" demó

    Következtetés

    Mind a négy alapvető átalakítási módszert végeztük el; fordítson, méretezzen, forgasson és ferde

    Azonban, mint már említettük, ez a modul még mindig korai szakaszban van, így ha ezeket a módszereket a következő webhelyen alkalmazza, győződjön meg róla, hogy az nem kompatibilis böngészők számára kíméletesen romlik (nem az IE6-ra hivatkozok).

    Végül megtekintheti az összes demót, vagy letöltheti a forrást a következő linkekből.

    • Demó
    • Letöltés forrása