minmax()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.
La función minmax()
en CSS define un rango de tamaño mayor o igual que min y menor o igual que max. Se emplea con rejillas CSS.
/* valores <ancho no-flexible>, <ancho de la banda> */
minmax(200px, 1fr)
minmax(400px, 50%)
minmax(30%, 300px)
minmax(100px, max-content)
minmax(min-content, 400px)
minmax(max-content, auto)
minmax(auto, 300px)
minmax(min-content, auto)
/* valores <ancho fijo>, <ancho de la banda> */
minmax(200px, 1fr)
minmax(30%, 300px)
minmax(400px, 50%)
minmax(50%, min-content)
minmax(300px, max-content)
minmax(200px, auto)
/* valores <ancho no-flexible>, <ancho fijo> */
minmax(400px, 50%)
minmax(30%, 300px)
minmax(min-content, 200px)
minmax(max-content, 200px)
minmax(auto, 300px)
Sintáxis
Una función que toma dos parámetros, min y max.
Cada parámetro puede ser un valor <length>
, <percentage>
, <flex>
o uno de los valores de las palabras clave max-content
, min-content
o auto
.
Si max < min, entonces max es ignorado y se trata a minmax(min,max)
como min. Como un máximo, un valor <flex>
establece el factor flex de una banda; no es válido como un mínimo.
Valores
<length>
-
Una medida no negativa.
<percentage>
-
Un porcentaje no negativo, relativo al tamaño en línea del contenedor de la rejilla en bandas de columna y el tamaño de bloque del contenedor de rejilla en bandas de fila. Si el tamaño del contenedor de la rejilla depende del tamaño de sus bandas, entonces
<percentage>
debe ser tratado comoauto
. El user agent puede ajustar las contribuciones del tamaño implícito de la banda al tamaño del contenedor de rejilla y así incrementar el tamaño final de la banda y así incrementar el tamaño final en la cantidad mínima que resultase al respetar el porcentaje. <flex>
-
Una dimension no-negativa con la unidad
fr
especificando el factor flex de la banda. Cada banda de tamaño<flex>
toma una parte del espacio disponible en proporción a su factor flex. max-content
-
Representa la mayor contribución max-content de los elementos de rejilla que ocupan la banda.
min-content
-
Representa la mayor contribución min-content de los elementos de rejilla que ocupan la banda.
auto
-
Como un máximo, idéntico a
max-content
. Como un mínimo representa el mayor tamaño mínimo (como se especifica enmin-width
/min-height
) de los elementos de rejilla que ocupan la banda.
Sintáxis formal
<minmax()> =
minmax( min , max )
Propiedades CSS
La función minmax()
puede ser usada dentro de:
Ejemplo
CSS
#container {
display: grid;
grid-template-columns: minmax(max-content, 300px) minmax(200px, 1fr) 150px;
grid-gap: 5px;
box-sizing: border-box;
height: 200px;
width: 100%;
background-color: #8cffa0;
padding: 10px;
}
#container > div {
background-color: #8ca0ff;
padding: 5px;
}
HTML
<div id="container">
<div>
Elemento tan ancho como el contenido,<br />
pero de máximo 300 píxeles.
</div>
<div>Elemento con un ancho flexible, pero con un mínimo de 200 píxeles.</div>
<div>Elemento inflexible de 150 píxeles de ancho.</div>
</div>
Resultado
Especificaciones
Specification |
---|
CSS Grid Layout Module Level 2 # funcdef-grid-template-columns-minmax |
Compatibilidad con navegadores
BCD tables only load in the browser
Mira también
- Guía de Grid Layout: Conceptos básicos del diseño con rejilla - tamaño de bandas con minmax()
- Rejillas CSS, valores lógicos y modos de escritura
- Video tutorial: Presentando minmax()
-
Guías
- Conceptos básicos del diseño con rejillas
- Relación a otros métodos de diseño
- Posicionamiento basado en líneas
- Grid template areas
- Diseño usando lineas con nombre
- Posicionamiento automático en el diseño con rejillas
- Alineamiento de cajas en el diseño con rejillas
- Rejillas, valores lógicos y modos de escritura
- CSS Grid Layout y la Accesibilidad
- CSS Grid Layout y una Mejora Progresiva
- Elaborando diseños comunes utilizando rejillas
-
Propiedades
-
Glosario