Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.
La fonction CSS minmax
()
définit un intervalle de taille compris (au sens large) entre min et max. Si max < min, max est ignoré et minmax(min,max)
correspond à min. Utilisé comme maximum, une valeur <flex>
permet de définir le facteur de flexibilité d'une piste de la grille, elle est invalide comme minimum.
Syntaxe
/* <inflexible-breadth>, <track-breadth> values */ 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) /* <fixed-breadth>, <track-breadth> values */ minmax(200px, 1fr) minmax(30%, 300px) minmax(400px, 50%) minmax(50%, min-content) minmax(300px, max-content) minmax(200px, auto) /* <inflexible-breadth>, <fixed-breadth> values */ minmax(400px, 50%) minmax(30%, 300px) minmax(min-content, 200px) minmax(max-content, 200px) minmax(auto, 300px)
Valeurs
- <length>
- Une longueur positive
- <percentage>
- Un pourcentage positif, relatif à la taille en ligne du conteneur pour les colonnes et à la taille en bloc pour les lignes du conteneur. Si la taille de la grille dépend de la taille de ses pistes, la valeur devra être traitée comme
auto
. L'agent utilisateur peut ajuster les contributions des tailles intrinsèques à la taille de la piste du conteneur de la grille et augmenter la taille finale de la piste par l'écart minimal nécessaire pour respecter ce pourcentage. - <flex>
- Une dimension positive avec l'unité
fr
qui définit le facteur de flexibilité de la piste. Chaque piste avec un tel coefficient<flex>
occupe une partie de l'espace disponible restant en fonction de son facteur de flexibilité. - max-content
- Cette valeur représente la plus grande valeur
max-content
contribuant aux objets de la grille qui occupent la piste. - min-content
- Cette valeur représente la plus grande valeur
min-content
contribuant aux objets de la grille qui occupent la piste - auto
- Utilisé comme maximum, c'est un synonyme. Utilisé comme un minimum, il représente le plus grand des minima (selon
min-width
/min-height
) des objets de la grille qui occupent la piste.
Syntaxe formelle
minmax( min, max )
Exemples
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>Un objet aussi large que le contenu.</div> <div> Un objet avec plus de texte dedans. Son contenu est plus large que la largeur maximale, il est donc ramené à 300 pixels. </div> <div>Un objet flexible</div> </div>
Résultat
Spécifications
Spécification | État | Commentaires |
---|---|---|
CSS Grid Layout La définition de 'minmax()' dans cette spécification. |
Candidat au statut de recommandation | Définition initiale. |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Support simple | Pas de support[1] | Pas de support | Pas de support[2] | Pas de support[3] | Pas de support[1] | ? |
Fonctionnalité | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Support simple | Pas de support[1] | Pas de support[2] | Pas de support | Pas de support | Pas de support |
[1] Implémentée via la préférence fonctionnalités expérimentales de la plateforme Web sous chrome://flags
.
[2] Implémentée via la préférence layout.css.grid.enabled
, qui vaut false
par défaut depuis Gecko 51.0 (Firefox 51.0 / Thunderbird 51.0 / SeaMonkey 2.48).