Les funcions de CSS són eines poderoses que permeten manipular valors de propietats de manera dinàmica i flexible. Aquestes funcions poden ajudar a simplificar el codi CSS i fer-lo més mantenible i reutilitzable. En aquesta secció, explorarem algunes de les funcions més comunes i útils de CSS.

Funcions de Color

rgb() i rgba()

Aquestes funcions s'utilitzen per definir colors en format RGB (Red, Green, Blue) i RGBA (Red, Green, Blue, Alpha).

/* Color RGB */
.color-rgb {
    background-color: rgb(255, 0, 0); /* Vermell */
}

/* Color RGBA amb opacitat */
.color-rgba {
    background-color: rgba(255, 0, 0, 0.5); /* Vermell amb 50% d'opacitat */
}

hsl() i hsla()

Aquestes funcions defineixen colors utilitzant el model de color HSL (Hue, Saturation, Lightness) i HSLA (Hue, Saturation, Lightness, Alpha).

/* Color HSL */
.color-hsl {
    background-color: hsl(120, 100%, 50%); /* Verd */
}

/* Color HSLA amb opacitat */
.color-hsla {
    background-color: hsla(120, 100%, 50%, 0.5); /* Verd amb 50% d'opacitat */
}

Funcions de Manipulació de Valors

calc()

La funció calc() permet realitzar càlculs matemàtics per determinar valors de propietats CSS.

/* Càlcul de l'amplada */
.calculated-width {
    width: calc(100% - 50px);
}

/* Càlcul de la mida de la font */
.calculated-font-size {
    font-size: calc(1rem + 2vw);
}

var()

La funció var() s'utilitza per accedir a variables CSS definides amb --.

:root {
    --primary-color: #3498db;
    --secondary-color: #2ecc71;
}

.using-variables {
    background-color: var(--primary-color);
    color: var(--secondary-color);
}

Funcions de Transformació

rotate()

La funció rotate() s'utilitza per rotar un element al voltant del seu punt d'origen.

.rotate-example {
    transform: rotate(45deg); /* Rota l'element 45 graus */
}

scale()

La funció scale() s'utilitza per escalar un element en l'eix X i/o Y.

.scale-example {
    transform: scale(1.5); /* Escala l'element 1.5 vegades */
}

Funcions de Gradients

linear-gradient()

La funció linear-gradient() crea un gradient lineal entre dos o més colors.

.linear-gradient-example {
    background: linear-gradient(to right, red, yellow);
}

radial-gradient()

La funció radial-gradient() crea un gradient radial des del centre cap a l'exterior.

.radial-gradient-example {
    background: radial-gradient(circle, red, yellow);
}

Exercicis Pràctics

Exercici 1: Crear un Botó amb Gradient i Rotació

Crea un botó que tingui un gradient lineal com a fons i que es roti 15 graus quan es passa el ratolí per sobre.

<!DOCTYPE html>
<html lang="ca">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Exercici de Funcions CSS</title>
    <style>
        .gradient-button {
            background: linear-gradient(to right, #ff7e5f, #feb47b);
            border: none;
            color: white;
            padding: 15px 30px;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 16px;
            transition: transform 0.3s ease;
        }

        .gradient-button:hover {
            transform: rotate(15deg);
        }
    </style>
</head>
<body>
    <button class="gradient-button">Botó amb Gradient</button>
</body>
</html>

Exercici 2: Utilitzar calc() per a Mides Responsives

Crea un contenidor que tingui una amplada que sigui el 50% de la mida de la finestra menys 20 píxels.

<!DOCTYPE html>
<html lang="ca">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Exercici de Funcions CSS</title>
    <style>
        .responsive-container {
            width: calc(50% - 20px);
            background-color: #3498db;
            color: white;
            padding: 20px;
            text-align: center;
        }
    </style>
</head>
<body>
    <div class="responsive-container">Contenidor Responsive</div>
</body>
</html>

Conclusió

Les funcions de CSS són eines essencials per a qualsevol desenvolupador web, ja que permeten crear dissenys més dinàmics i flexibles. Hem explorat funcions de color, manipulació de valors, transformació i gradients, i hem vist com utilitzar-les en exemples pràctics. Amb aquestes eines, estaràs millor preparat per afrontar qualsevol repte de disseny CSS.

Domini del CSS: De Principiant a Avançat

Mòdul 1: Introducció al CSS

Mòdul 2: Estilització de Text i Fonts

Mòdul 3: Model de Caixa i Disseny

Mòdul 4: Posicionament i Flotació

Mòdul 5: Flexbox

Mòdul 6: CSS Grid

Mòdul 7: Tècniques Avançades de CSS

Mòdul 8: Disseny Responsiu

Mòdul 9: Preprocessadors i Frameworks

Mòdul 10: Millors Pràctiques i Optimització

Mòdul 11: Projecte: Construir un Lloc Web Responsiu

© Copyright 2024. Tots els drets reservats