5.1 La funzione calc()
Le funzioni CSS forniscono strumenti potenti per effettuare varie operazioni direttamente nei file di stile.
Le funzioni calc()
, min()
, max()
e clamp()
sono particolarmente utili per creare design adattivi e flessibili, in quanto permettono
di eseguire operazioni matematiche e calcolare valori condizionali.
La funzione calc()
viene utilizzata per eseguire operazioni matematiche in CSS. Permette di combinare diverse
unità di misura, come pixel (px
), percentuali (%
), em
, rem
e altre, in un'unica espressione.
Sintassi:
selettore {
proprietà: calc(espressione);
}
Esempio di utilizzo
In questo esempio la larghezza di un blocco è calcolata come il 50% della larghezza dell'elemento padre meno 20 pixel:
/* Larghezza del blocco - metà dell'elemento padre meno 20px */
.block {
width: calc(50% - 20px);
}
5.2 Funzioni min(), max() e clamp()
Le funzioni min()
, max()
e clamp()
in CSS
La funzione min()
La funzione min()
accetta diversi valori e restituisce il più piccolo tra essi. Utile per creare
dimensioni flessibili che cambiano in base al contesto.
Sintassi:
selettore {
proprietà: min(valore1, valore2);
}
Esempio
In questo esempio la larghezza del contenitore sarà il 50% o 300 pixel, a seconda di quale sia il minore:
.container {
width: min(50%, 300px);
}
La funzione max()
La funzione max()
accetta diversi valori e restituisce il maggiore tra essi. Utile per impostare
dimensioni minime e garantire l'adattabilità.
La funzione clamp()
La funzione clamp()
accetta tre valori: minimo, preferito e massimo. Limita
il valore tra il minimo e il massimo, spingendo verso il valore preferito.
5.3 Vantaggi dell'uso delle funzioni CSS
Vantaggi dell'uso delle funzioni CSS:
- Flessibilità. Le funzioni CSS consentono di creare stili più flessibili e adattivi, grazie alla possibilità di calcolare dinamicamente i valori.
- Semplificazione del design reattivo. Le funzioni
min()
,max()
eclamp()
semplificano notevolmente la creazione di design reattivi, permettendo di limitare i valori a determinati limiti. - Riduzione della necessità di media query. L'utilizzo di queste funzioni può ridurre il numero di media query necessarie per adattare gli stili a diverse dimensioni dello schermo.
5.4 Esempio di implementazione completa
.container {
display: flex;
flex-direction: column;
gap: 10px;
padding: 20px;
}
.block {
background-color: #3498db;
color: white;
padding: 10px;
text-align: center;
}
.block:nth-child(1) {
width: calc(50% - 20px);
}
.block:nth-child(2) {
width: min(300px, 100%);
}
.block:nth-child(3) {
width: max(200px, 50%);
}
.text {
font-size: clamp(12px, 2vw, 24px);
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Esempio di utilizzo delle funzioni CSS</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="container">
<div class="block">Blocco con larghezza calc(50% - 20px)</div>
<div class="block">Blocco con larghezza min(300px, 100%)</div>
<div class="block">Blocco con larghezza max(200px, 50%)</div>
<p class="text">Testo con dimensione del font clamp(12px, 2vw, 24px)</p>
</div>
</body>
</html>
GO TO FULL VERSION