Główna » Kodowanie » Spojrzenie w transformacje 2D CSS3

    Spojrzenie w transformacje 2D CSS3

    Ten artykuł jest częścią naszego „Seria samouczków HTML5 / CSS3” - dedykowane, aby pomóc Ci stać się lepszym projektantem i / lub deweloperem. Kliknij tutaj aby zobaczyć więcej artykułów z tej samej serii.

    The Moduł transformacji jest ogromnym dodatkiem w CSS3, zajmuje sposób, w jaki manipulujemy elementami na stronie internetowej do następnego poziomu.

    Są pewne eksperymenty, które naprawdę mnie zadziwiają, przykłady takie jak ten. Jednak nie będziemy budować czegoś w rodzaju ikony CSS, która może w jakiś sposób przekształcić się w Autobota, ponieważ może być przytłaczająca i nie do końca użyteczna również w prawdziwym życiu.

    Zamiast tego tym razem cofniemy się i przejrzymy podstawy transformacji 2D CSS3, aby zobaczyć, jak działa na podstawowym poziomie.

    Składnia

    Moduł Transformacje CSS3 zasadniczo pozwala nam na przekształcenie elementu do pewnego stopnia, takiego jak tłumaczenie, skalowanie, obracanie i pochylanie.

    Oficjalna składnia to transform: metoda (wartość). Jednak, podobnie jak wszystkie inne wspaniałe dodatki CSS3, które są wciąż na wczesnym etapie, obecne przeglądarki nadal potrzebują wersji składni do uruchomienia transformacji. Tak więc pełna składnia okaże się następująca:

     transform: metoda (wartość); / * Oficjalna składnia W3C * / -o-transform: method (value); / * Opera 10.5+ * / -ms-transform: metoda (wartość); / * Internet Explorer 9.0+ * / -moz-transform: metoda (wartość); / * Firefox 3.6+ * / -webkit-transform: method (value); / * Chrome / Safari 3.2+ * / 

    Również metoda, o której mówimy powyżej, to funkcje transformacji, które można zastąpić jednym z następujących: Tłumaczyć(), skala(), obracać się() lub ukośnie().

    Wartość

    Większość wartości metody będzie odpowiadać wartości Oś X i Oś Y. Jeśli pamiętasz układ współrzędnych kartezjańskich z klasy matematyki w szkole średniej, podstawowa zasada jest dość podobna, oś X reprezentuje poziomy linia i oś Y reprezentują pionowy linia.

    Z wyjątkiem rotacji. The obrót użyje współrzędne biegunowe który jest wyrażony w stopniach od 0 do 360.

    Wartości dla wszystkich metod mogą być zarówno ujemne, jak i dodatnie. Wystarczy jednak zanotować, ponieważ strona internetowa jest odczytywana sekwencyjnie od góry do dołu, co sprawia, że ​​oś Y w sieci działa odwrotnie niż pierwotna zasada współrzędnych kartezjańskich. Oznacza to, że gdy dodasz wartość ujemną do Oś Y, zamiast tego przejdzie na górę.

    Korzystanie z transformacji

    Teraz zobaczmy następującą podstawową demonstrację, aby zobaczyć Transformację w akcji.

    Tłumaczę

    Nie daj się zachmurzyć terminowi Tłumaczyć, nie będzie tłumaczyć języka obcego. The Tłumaczyć tutaj jest metoda przesuwania elementów w pewnym kierunku.

    Metoda zawiera dwie wartości; X i Y. Wartość X jak wskazaliśmy powyżej, weźmiemy element poziomo; w lewo lub w prawo, podczas, gdy Y wartość przeniesie go pionowo do na dole lub na górze.

    Teraz zobaczmy kilka prostych demonstracji poniżej:

     div width: 100px; wysokość: 100px; transform: translate (100px, 250px);  

    Powyższy fragment przeniesie element na 100 pikseli w prawo i 250 pikseli na dół.

     div width: 100px; wysokość: 100px; transform: translate (100px, 0);  

    Fragment powyżej spowoduje przesunięcie elementu w prawo o 100 pikseli, ponieważ zerujemy oś Y. Następnie, jeśli chcemy przesunąć element w lewo, wystarczy ustawić oś X w negatywie, w następujący sposób:

     div width: 100px; wysokość: 100px; transform: translate (-100px, 0);  
    • Demo „Przetłumacz”

    Alternatywnie, jesteśmy w stanie przesunąć element w jednym kierunku za pomocą tych indywidualnych metod; translateX () i tłumaczyć (), różnica jest taka, że ​​każda z tych metod przyjmuje tylko jedną wartość.

    Praktycznie rzecz biorąc, transform: translate (-100px, 0) jest również równy transform: translateX (-100px).

    II - Skala

    The skala metoda pozwala nam powiększ lub zmniejsz elementy z rzeczywistej wielkości. Wartość skali jest taka sama jak wartość Tłumaczyć powyżej, zawiera również X i Y. Jedyną różnicą jest to, że nie określamy jednostki. Oto przykład:

     div width: 100px; wysokość: 100px; transform: skala (1,5);  

    Powyższy przykład spowoduje powiększenie div 1,5 lub 150% jego rzeczywistej wielkości, a ponieważ skalujemy go równo dla kierunków X i Y, musimy tylko zadeklarować go w jednej wartości. Możesz również zadeklarować to w ten sposób transform: skala (1.5,1.5); jeśli chcesz pójść więcej szczegółów, zrobi to samo.

    Ponadto, jeśli chcemy zmniejszyć element, użylibyśmy konkretnie wartości od 0.999 do absolutnego 0, jak w poniższym przykładzie, który zmniejszy rozmiar div o 50% lub połowę:

     div width: 100px; wysokość: 100px; transform: skala (0,5);  

    Ale bądź ostrożny, jeśli ustawisz wartość na absolutną “0” div po prostu zniknie, więc jeśli nie masz ważnego powodu, by to zrobić, nie poleciłbym tego.

    • Demo „Skala”

    III - Obróć

    Jak wspomnieliśmy wcześniej w tym poście, obracać się metoda wykorzystuje współrzędne biegunowe, więc wartość jest podana w stopniach. Oto dwa przykłady

    Poniższy fragment obróci div 30 stopni w prawo.

     div width: 100px; wysokość: 100px; transform: rotate (30deg);  

    Wartość ujemna, jak pokazano w poniższym przykładzie, spowoduje obrót div w przeciwnym kierunku (przeciwnie do ruchu wskazówek zegara) w tym samym stopniu.

     div width: 100px; wysokość: 100px; transform: rotate (-30deg);  
    • Demo „Obróć”

    IV - Pochylenie

    The ukośnie Metoda pozwala nam stworzyć rodzaj równoległoboku. Zawiera również dwie wartości osi X i Y. Jednak sama wartość jest podana w stopniach, a nie liniowych, jak w przypadku skala albo Tłumaczyć metoda. Oto przykład:

     div width: 200px; wysokość: 100px; transform: skew (30deg, 10deg);  
    • „Skew” demo

    V - Metoda wielokrotna

    The przekształcać właściwość nie jest ograniczona do obsługi tylko jednej metody, w rzeczywistości możemy dołączyć wiele metod w pojedynczych deklaracjach, takich jak:

     div width: 100px; wysokość: 100px; transform: translateX (100px) rotate (45deg);  

    Powyższy fragment przeniesie element 100px w prawo, a jednocześnie obróci się o 45 stopni.

    Demo „Wiele metod”.

    Przekształć pochodzenie

    The od pochodzenia - jak sama nazwa wskazuje - służy do kontrolowania punktu początkowego transformacji. Jeśli nie zadeklarujemy jawnie tej właściwości z następującą składnią początek transformacji: X Y;, wtedy przeglądarka przyjmie wartość domyślną, która wynosi 50% dla X i 50% dla Y.

    Teraz, jeśli określimy początek transformacji do 0 (X) 0 (Y) transformacja rozpocznie się w lewym górnym rogu.

    Ponownie, wszystkie przeglądarki nadal wymagają wersji prefiksu, aby wywołać tę właściwość. Oto pełna wersja, która zapewnia, że ​​działa w większości obecnych przeglądarek:

     -webkit-transform-origin: X Y; -moz-transform-origin: X Y; -o-transform-origin: X Y; -ms-transform-origin: X Y; początek transformacji: X Y; 
    • Demo „Pochodzenie transformacji”

    Wniosek

    Przeszliśmy przez wszystkie cztery podstawowe metody transformacji; tłumacz, skaluj, obracaj i pochylaj

    Jednak, jak już wspomniano, ten moduł jest wciąż na wczesnym etapie, więc jeśli zastosujesz te metody w swojej następnej witrynie, upewnij się, że ulegnie to pogorszeniu w przypadku niezgodnych przeglądarek (nie mam tu na myśli IE6).

    Na koniec możesz wyświetlić wszystkie wersje demonstracyjne lub pobrać źródło z poniższych linków.

    • Próbny
    • Pobierz źródło