MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

minmax()

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( [ <length> | <percentage> | <flex> | min-content | max-content | auto ] , [ <length> | <percentage> | <flex> | min-content | max-content | auto ] )

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 57.0[1] Pas de support[3] 52.0 (52.0)[2] Pas de support[3] 44[4] 10.1
Fonctionnalité Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support simle Pas de support 52.0 (52.0)[2] Pas de support[3] Pas de support 10.3

[1] Implémentée depuis Chrome 29 via la préférence Fonctionnalités expérimentales de la plate-forme Web sous chrome://flags.

[2] Implémentée depuis Gecko 40.0 (Firefox 40.0 / Thunderbird 40.0 / SeaMonkey 2.37) via la préférence layout.css.grid.enabled, alors désactivée par défaut. Depuis Gecko 52.0 (Firefox 52.0 / Thunderbird 52.0 / SeaMonkey 2.49), la préférence est activée par défaut.

[3] Internet Explorer et Edge implémentent une ancienne version de la spécification qui ne définit pas ctte fonctionnalité.

[4] Implémentée depuis Opera 28.0 via la préférence Fonctionnalités expérimentales de la plate-forme Web sous chrome://flags.

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight
 Dernière mise à jour par : SphinxKnight,