Funciones matemáticas CSS: calc(), min(), max() y clamp()

Aprende a crear layouts y tipografías fluidas sin hacks usando funciones matemáticas nativas de CSS.

Las funciones matemáticas convierten CSS en un sistema dinámico que se adapta al espacio disponible.

Con <code>calc()</code> mezclas unidades; con <code>min()</code>, <code>max()</code> y <code>clamp()</code> estableces límites inteligentes.

Bien usadas, reducen media queries innecesarias y mejoran la coherencia de layouts fluidos.

  • Cada función resuelve un problema distinto.
  • <code>calc()</code>: operaciones entre unidades compatibles.
  • <code>min()</code>: escoge el valor más pequeño.
  • <code>max()</code>: escoge el valor más grande.
  • <code>clamp(min, ideal, max)</code>: valor fluido con límites seguros.

Cuándo usar cada función

Cada función resuelve un problema distinto.

  • <code>calc()</code>: operaciones entre unidades compatibles.
  • <code>min()</code>: escoge el valor más pequeño.
  • <code>max()</code>: escoge el valor más grande.
  • <code>clamp(min, ideal, max)</code>: valor fluido con límites seguros.

Layouts fluidos sin saltos

Combina funciones para controlar ancho, padding y tipografía.

Un patrón típico: limitar ancho con <code>min()</code>, crear espaciados proporcionales con <code>clamp()</code> y reservar huecos con <code>calc()</code>.

Esto mantiene proporción visual estable en móviles, tablets y escritorio sin ramificar demasiado CSS.

CSS
60

Funciones matemáticas CSS: calc(), min(), max() y clamp()

Aprende a crear layouts y tipografías fluidas sin hacks usando funciones matemáticas nativas de CSS.

Código del tema: display: grid; gap: 1rem;

📘 Teoría

Cuándo usar cada función

Cada función resuelve un problema distinto.

  • calc(): operaciones entre unidades compatibles.
  • min(): escoge el valor más pequeño.
  • max(): escoge el valor más grande.
  • clamp(min, ideal, max): valor fluido con límites seguros.
Ejemplos rápidos
.container { width: calc(100% - 2rem); }
.card { width: min(100%, 42rem); }
.sidebar { width: max(220px, 24vw); }
h1 { font-size: clamp(1.8rem, 1rem + 2vw, 3rem); }

Layouts fluidos sin saltos

Combina funciones para controlar ancho, padding y tipografía.

1

Un patrón típico: limitar ancho con min(), crear espaciados proporcionales con clamp() y reservar huecos con calc().

2

Esto mantiene proporción visual estable en móviles, tablets y escritorio sin ramificar demasiado CSS.

Patrón real
.page {
  width: min(100% - 2rem, 1200px);
  margin-inline: auto;
}
.hero {
  padding: clamp(1rem, 0.5rem + 2vw, 3rem);
}
.main {
  min-height: calc(100vh - 72px);
}

🧪 Aprende probando

Ejemplo Demo interactiva: escala con clamp() Ajusta el viewport y observa cómo se limita el tamaño de título y padding.

🏁 Retos

Reto Reto: altura fluida con límites Configura altura con clamp() en .hero.

🧰 Recursos

Test

Comprueba tus conocimientos con un test sobre CSS.

Test de CSS

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros 😉.

Esta la hice en febrero de 2026 para facilitar el aprendizaje de mis alumnxs. Aprender desarrollo web practicando. La idea es que crezca semanalmente con nuevos temas, tests y retos.

Inspirado en MDN, en W3Schools, en Codepen, en el crack de Manz y en mil sitios de documentación sobre desarrollo web. Quería aportar además de bloques teóricos con ejemplos, la gamificación de los retos y el sistema de test que ya tenía en culTest .

Si te gustó, si no te gustó, si quieres saludarme, o invitarme a 🍻 no dudes en escribirme en cristianeslava@gmail.com .