Les transformacions de CSS permeten modificar l'aparença d'un element canviant la seva forma, mida i posició. Aquestes transformacions es poden aplicar utilitzant la propietat transform
. En aquest tema, explorarem les diferents funcions de transformació disponibles i com utilitzar-les per crear efectes visuals dinàmics.
Funcions de Transformació
Les funcions de transformació més comunes són:
- translate(): Mou un element d'una posició a una altra.
- rotate(): Rota un element al voltant d'un punt fix.
- scale(): Canvia la mida d'un element.
- skew(): Inclina un element en una direcció específica.
- matrix(): Aplica una transformació combinada utilitzant una matriu.
- translate()
La funció translate()
desplaça un element en l'eix X i/o Y.
En aquest exemple, l'element es mou 50 píxels a la dreta i 100 píxels cap avall.
- rotate()
La funció rotate()
gira un element al voltant del seu punt central.
Aquest codi gira l'element 45 graus en sentit horari.
- scale()
La funció scale()
canvia la mida d'un element en l'eix X i/o Y.
Aquest exemple augmenta l'amplada de l'element en un 150% i l'alçada en un 200%.
- skew()
La funció skew()
inclina un element en l'eix X i/o Y.
Aquest codi inclina l'element 30 graus en l'eix X i 20 graus en l'eix Y.
- matrix()
La funció matrix()
aplica una transformació combinada utilitzant una matriu de sis valors.
Aquest exemple aplica una combinació de translació, rotació, escalat i inclinació a l'element.
Combinació de Transformacions
És possible combinar múltiples transformacions en una sola propietat transform
separant-les amb espais.
En aquest exemple, l'element es mou 50 píxels a la dreta i 100 píxels cap avall, es gira 45 graus i es redimensiona en un 150%.
Punt d'Ancoratge
El punt d'ancoratge (o punt de transformació) és el punt al voltant del qual es realitzen les transformacions. Per defecte, aquest punt és el centre de l'element, però es pot canviar utilitzant la propietat transform-origin
.
En aquest exemple, l'element es gira 45 graus al voltant del seu vèrtex superior esquerre.
Exercicis Pràctics
Exercici 1: Mou un Element
Mou un element 100 píxels a la dreta i 50 píxels cap avall.
<!DOCTYPE html> <html lang="ca"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Exercici 1: Mou un Element</title> <style> .box { width: 100px; height: 100px; background-color: blue; transform: translate(100px, 50px); } </style> </head> <body> <div class="box"></div> </body> </html>
Exercici 2: Gira un Element
Gira un element 90 graus en sentit horari.
<!DOCTYPE html> <html lang="ca"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Exercici 2: Gira un Element</title> <style> .box { width: 100px; height: 100px; background-color: red; transform: rotate(90deg); } </style> </head> <body> <div class="box"></div> </body> </html>
Exercici 3: Escala un Element
Escala un element al doble de la seva mida original.
<!DOCTYPE html> <html lang="ca"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Exercici 3: Escala un Element</title> <style> .box { width: 100px; height: 100px; background-color: green; transform: scale(2); } </style> </head> <body> <div class="box"></div> </body> </html>
Resum
En aquesta secció, hem après sobre les diferents funcions de transformació de CSS, com translate()
, rotate()
, scale()
, skew()
i matrix()
. També hem vist com combinar múltiples transformacions i com canviar el punt d'ancoratge utilitzant transform-origin
. Finalment, hem practicat aquests conceptes amb alguns exercicis pràctics. Amb aquestes eines, pots començar a crear efectes visuals dinàmics i interessants per als teus projectes web.
Domini del CSS: De Principiant a Avançat
Mòdul 1: Introducció al CSS
- Què és el CSS?
- Sintaxi i Selectors de CSS
- Com Afegir CSS a HTML
- Propietats Bàsiques de CSS
- Colors en CSS
- Unitats i Mesures en CSS
Mòdul 2: Estilització de Text i Fonts
- Propietats de Text
- Propietats de Fonts
- Integració de Google Fonts
- Alineació i Espaiat de Text
- Decoració i Transformació de Text
Mòdul 3: Model de Caixa i Disseny
- Comprendre el Model de Caixa
- Marge i Farciment
- Vora i Contorn
- Amplada i Alçada
- Dimensionament de Caixa
- Propietat de Visualització de CSS
Mòdul 4: Posicionament i Flotació
- Propietat de Posició de CSS
- Posicionament Estàtic, Relatiu, Absolut i Fix
- Flotació i Neteja de CSS
- Crear Dissenys amb Flotació
- Índex Z de CSS
Mòdul 5: Flexbox
- Introducció a Flexbox
- Propietats del Contenidor Flex
- Propietats dels Elements Flex
- Crear Dissenys amb Flexbox
- Disseny Responsiu amb Flexbox
Mòdul 6: CSS Grid
- Introducció a CSS Grid
- Propietats del Contenidor Grid
- Propietats dels Elements Grid
- Crear Dissenys amb CSS Grid
- Disseny Responsiu amb CSS Grid
Mòdul 7: Tècniques Avançades de CSS
Mòdul 8: Disseny Responsiu
- Introducció al Disseny Responsiu
- Consultes de Mitjans
- Tipografia Responsiva
- Imatges Responsives
- Disseny Mobile-First
Mòdul 9: Preprocessadors i Frameworks
- Introducció als Preprocessadors de CSS
- Conceptes Bàsics de Sass
- Conceptes Bàsics de Less
- Introducció als Frameworks de CSS
- Ús de Bootstrap
Mòdul 10: Millors Pràctiques i Optimització
- Millors Pràctiques de CSS
- Organització del Codi CSS
- Minificació de CSS
- Optimització del Rendiment de CSS
- Depuració de CSS