Calculadora de CSS clamp()

Define un tamaño para pantallas pequeñas y otro para grandes y obtén un valor clamp() fluido que escala con suavidad entre ambos — para tamaños de fuente, padding, márgenes o gaps.

Ajustes
Mínimo
Máximo
Valor clamp()
clamp(1rem, 0.8333rem + 0.8333vw, 1.5rem)

El resultado conserva una parte en rem en el término central, así el texto sigue creciendo cuando alguien amplía al 200%; un valor solo de viewport no lo haría.

Vista previa

Texto fluido, con el tamaño justo.

Ajusta los tamaños y los anchos de pantalla para dar forma al valor.

El cálculo se hace por completo en tu navegador. Nada de lo que escribes aquí se sube a BroBroGo.

Preguntas frecuentes

¿Cómo construye la calculadora el valor clamp()?

Le das dos puntos: un tamaño a un ancho de pantalla pequeño y otro a uno grande. Traza una línea recta entre ellos, de modo que el tamaño crece con suavidad al ensancharse la pantalla, y lo envuelve en clamp() para que nunca baje de tu tamaño pequeño ni supere el grande. Entre los dos anchos el tamaño escala de forma fluida; fuera de ellos se queda en el límite más cercano.

¿Por qué el resultado viene en rem y vw en lugar de píxeles?

Los límites van en rem y la parte central que cambia conserva un componente en rem, así el texto sigue creciendo cuando alguien amplía la página o sube el tamaño de fuente por defecto del navegador; un valor solo en píxeles o solo en unidades de viewport podría impedirlo. Introduces los tamaños en píxeles porque es lo natural, y la herramienta los convierte a rem con tu tamaño de fuente raíz.

¿Puedo usarlo para espaciado y no solo para el tamaño de fuente?

Sí. El mismo valor sirve para padding, margin, gap, ancho o alto: en cualquier lugar donde vaya una longitud. Cambia la vista previa a «Caja» para ver crecer el espaciado en vez del texto. Si tu tamaño pequeño y el grande coinciden, el resultado se reduce a una longitud fija, porque no hay nada que escalar.

¿Todos los navegadores admiten clamp()?

Sí: todos los navegadores actuales admiten clamp() desde 2020, así que puedes usar el valor tal cual, sin alternativa de reserva. Con un máximo muy alto o un cambio muy rápido, conviene comprobar al 200% de zoom que el texto sigue agrandándose para quien lo necesite.

El funcionamiento de CSS clamp() en el diseño fluido

La función clamp() de CSS permite definir un valor que escala de forma fluida entre un límite mínimo y un límite máximo en función del ancho de la pantalla. Esta técnica evita saltos bruscos entre puntos de ruptura (breakpoints) y unifica la presentación visual en cualquier dispositivo.

La calculadora genera esta función a partir de cinco datos de entrada: el tamaño mínimo para pantallas pequeñas, el ancho de esa pantalla pequeña, el tamaño máximo para pantallas grandes, el ancho de esa pantalla grande y el tamaño de fuente raíz del proyecto. Con estos parámetros, el sistema calcula una ecuación lineal que conecta ambos puntos. El resultado final adopta la estructura clamp(mínimo, valor_intermedio, máximo). Mientras el ancho de la pantalla se mantiene entre los dos límites definidos, el valor intermedio escala de manera proporcional; si la pantalla se estrecha por debajo del mínimo o se ensancha por el máximo, el navegador aplica los límites fijos correspondientes.

Este comportamiento es aplicable a cualquier propiedad de longitud en CSS, como font-size, padding, margin, gap, width o height.

Conversión de píxeles a unidades accesibles

Aunque en el diseño web es habitual trabajar con píxeles para definir las maquetas, las directrices de accesibilidad desaconsejan el uso de unidades absolutas como px para el texto. Si se define una fuente exclusivamente en píxeles o mediante unidades de viewport puras (vw), el usuario no podrá ampliar el tamaño del texto al usar el zoom del navegador o al cambiar la configuración de fuente predeterminada de su sistema.

Para resolver este problema, la herramienta realiza una conversión automática de los valores en píxeles a rem. El cálculo utiliza el tamaño de fuente raíz (habitualmente 16px) para realizar la equivalencia. El valor de salida de clamp() expresa tanto el límite mínimo como el máximo en rem. Además, el término central que varía con el ancho de la pantalla conserva un componente en rem sumado a la unidad de viewport (vw). Esta combinación matemática garantiza que el texto mantenga la capacidad de crecer cuando un lector amplía la página, cumpliendo con los requisitos de adaptabilidad y accesibilidad.

Reglas de cálculo y gestión de errores

Para que la fórmula de interpolación lineal sea válida, el proceso de cálculo sigue unas reglas matemáticas estrictas basadas en los datos introducidos:

  • Validación de campos: Todos los campos de entrada deben contener números válidos.
  • Relación de pantallas: El ancho de la pantalla pequeña debe ser un número positivo menor que el de la pantalla grande. Si esta condición no se cumple, la herramienta detiene el cálculo, muestra el valor en el resultado y genera el mensaje de error exacto: «El ancho de pantalla pequeño debe ser un número positivo menor que el grande.».
  • Tamaños idénticos: Si el tamaño mínimo y el tamaño máximo introducidos son iguales, no existe un rango de escala. En este caso, el resultado se simplifica a una longitud fija y se muestra la advertencia: «Ambos tamaños son iguales, así que es un valor fijo, no fluido.».
  • Escala inversa: Si el tamaño para la pantalla pequeña es mayor que el de la pantalla grande, la herramienta calcula una escala inversa donde el tamaño disminuye a medida que la pantalla se ensancha, mostrando el aviso: «Escala inversa: el tamaño se reduce a medida que la pantalla crece.».

Cuando los datos son correctos, el estado inicial indica: «Ajusta los tamaños y los anchos de pantalla para dar forma al valor.». Durante la interacción con la vista previa, el sistema monitoriza el comportamiento del elemento y muestra dinámicamente si el valor se encuentra «fijado al mínimo», «fijado al máximo» o «escalando con fluidez».

Privacidad y procesamiento de datos

El funcionamiento de esta calculadora prioriza la privacidad de los datos introducidos. El cálculo se hace por completo en tu navegador. Ninguno de los valores numéricos, dimensiones de pantalla o configuraciones que escribes aquí se sube a BroBroGo. Todo el procesamiento de la interpolación lineal y la generación del código CSS se ejecuta de forma local en el cliente.

Preguntas frecuentes

¿Cómo construye la calculadora el valor clamp()? Le das dos puntos: un tamaño a un ancho de pantalla pequeño y otro a uno grande. Traza una línea recta entre ellos, de modo que el tamaño crece con suavidad al ensancharse la pantalla, y lo envuelve en clamp() para que nunca baje de tu tamaño pequeño ni supere el grande. Entre los dos anchos el tamaño escala de forma fluida; fuera de ellos se queda en el límite más cercano.

¿Por qué el resultado viene en rem y vw en lugar de píxeles? Los límites van en rem y la parte central que cambia conserva un componente en rem, así el texto sigue creciendo cuando alguien amplía la página o sube el tamaño de fuente por defecto del navegador; un valor solo en píxeles o solo en unidades de viewport podría impedirlo. Introduces los tamaños en píxeles porque es lo natural, y la herramienta los convierte a rem con tu tamaño de fuente raíz.

¿Puedo usarlo para espaciado y no solo para el tamaño de fuente? Sí. El mismo valor sirve para padding, margin, gap, ancho o alto: en cualquier lugar donde vaya una longitud. Cambia la vista previa a «Caja» para ver crecer el espaciado en vez del texto. Si tu tamaño pequeño y el grande coinciden, el resultado se reduce a una longitud fija, porque no hay nada que escalar.

¿Todos los navegadores admiten clamp()? Sí: todos los navegadores actuales admiten clamp() desde 2020, así que puedes usar el valor tal cual, sin alternativa de reserva. Con un máximo muy alto o un cambio muy rápido, conviene comprobar al 200% de zoom que el texto sigue agrandándose para quien lo necesite.