Funcțiile matematice native clamp(), min() și max() au transformat modul în care construim interfețe responsive, permițând elementelor și tipografiei să se scaleze fluid și proporțional cu dimensiunea ecranului, fără a mai depinde de zeci de puncte de întrerupere (breakpoints) rigide prin @media.
1. Tipografie Fluidă cu clamp(minim, valoare_ideală, maxim)
/* Titlul pornește de la 1.75rem (pe telefoane mici),
crește dinamic cu 4% din lățimea ecranului (4vw),
dar nu va depăși NICIODATĂ 3.5rem (pe monitoare mari) */
h1 {
font-size: clamp(1.75rem, 4vw + 1rem, 3.5rem);
line-height: 1.15;
}
/* Spațiere interioară (padding) adaptivă fluidă */
.sectiune-hero {
padding-block: clamp(2rem, 6vw, 6rem);
}
2. Containere Autoadaptive cu min() și max()
/* Container centrat: ocupă toată lățimea cu 1rem spațiu lateral pe mobil,
dar se oprește la maxim 1200px pe desktop (înlocuiește width: 100%; max-width: 1200px;) */
.container {
width: min(100% - 2rem, 1200px);
margin-inline: auto;
}
/* Lățime garantată de minim 280px (pentru butoane compacte) */
.btn-actiune {
width: max(280px, 50%);
}
Sintaxa și Parametrii Funcției clamp()
| Argument | Rol | Exemplu |
|---|---|---|
MIN |
Limita inferioară absolută. Valoarea nu va scădea niciodată sub acest prag. | 1rem (16px) |
VAL |
Valoarea dinamică preferată (de regulă exprimată în unități viewport vw sau formule). |
2.5vw + 0.5rem |
MAX |
Limita superioară absolută. Valoarea este plafonată la acest maxim. | 2.5rem (40px) |