Table des matières
Les mots-clés min-content, max-content, fit-content, stretch en CSS
View more Tutorials:


En CSS, il y a quelques mots clés qui présentent des valeur de la taille ( la largeur ou la hauteur) de l'élément. En cet article, je vais vous expliquer comment ils fonctionnent.
- min-content
- max-content
- fit-content
- stretch
Example
width: max-content;
width: min-content;
width: fit-content;
width: stretch;
max-width: max-content;
max-width: min-content;
max-width: fit-content;
max-width: stretch;
min-width: max-content;
min-width: min-content;
min-width: fit-content;
min-width: stretch;
height: max-content;
height: min-content;
height: fit-content;
height: stretch;
......
Remarque: Ces mots clés ne fonctionnent qu'avec des éléments de bloc (block element) ou des éléments de bloc en ligne ( inline-block element). Cela garantit que les éléments s'afficheront sous forme d'une rectangle ( il y a la largeur et la hauteur)
En orientation horizontal, le mot-clé min-content représente la valeur minimale de la largeur sans renverser le contenu de l'élément horizontalement.

min-content-h-example.html
<!DOCTYPE html>
<html>
<head>
<title>Value: min-content</title>
<meta charset="UTF-8"/>
<style>
.my-element {
display: inline-block;
border: 1px solid gray;
background-color: SeaShell;
padding: 5px;
margin: 15px 35px 0px 0px;
}
</style>
</head>
<body>
<h2>Horizontal 'min-content' value?</h2>
<div class="my-element" style="width:20px;">
This is text content of element.
</div>
<div class="my-element" style="width: min-content;">
This is text content of element.
</div>
<div class="my-element" style="width: 180px;">
This is text content of element.
</div>
</body>
</html>
En orientation vertical, le mot-clé min-content représente la valeur minimale de la hauteur sans renverser le contenu de l'élément verticalement.

min-content-v-example.html
<!DOCTYPE html>
<html>
<head>
<title>Value: min-content</title>
<meta charset="UTF-8"/>
<style>
.my-element {
border: 1px solid gray;
padding: 5px;
margin-bottom: 25px;
background-color: SeaShell;
}
</style>
</head>
<body>
<h2>Vertical 'min-content' value?</h2>
<div class="my-element" style="height:35px;">
Line 1 <br/>
Line 2 <br/>
Some text content of the element.
</div>
<div class="my-element" style="height: min-content;">
Line 1 <br/>
Line 2 <br/>
Some text content of the element.
</div>
<div class="my-element" style="height: 90px;">
Line 1 <br/>
Line 2 <br/>
Some text content of the element.
</div>
</body>
</html>
max-content est un mot clé qui représente une valeur, la largeur intrinsèque préférée d'un élément ou la hauteur intrinsèque préférée d'un élément.
Comment est calculée la valeur max-content horizontale?
width: max-content;
min-width: max-content;
max-width: max-content;

Supposons que vous rendiez l'élément parent qui a la largeur infini (ou très grand) et que l'élément actuel soit la hauteur minimale (sans renverser son contenu verticalement). Ensuite, la valeur max-content est la largeur minimale, sans renverser son contenu horizontalement.
Comment est calculée la valeur max-content vertical?
height: max-content;
min-height: max-content;
max-height: max-content;

Supposons que vous rendiez l'élément parent qui a la hauteur infini (ou très grand) et que l'élément actuel ait la largeur minimale (sans renverser son contenu horizontalement). La valeur max-content est alors la hauteur minimale, sans renverser son contenu verticalement.
Par défaut, l'élément écrit son contenu selon: "l'orientation horizontal, de haut en bas"(Horizontal, Top to Bottom) - CSS {writing-mode:horizontal-tb}. Dans ce cas, le mot-clé fit-content n'a de sens que horizontalement.

.element {
width: -moz-fit-content; /** OLD Firefox */
width: fit-content;
}
Si le mode d'écriture est (mode d'écriture) horizontalement. Un élément avec une largeur CSS {width: fit-content} signifie:
1. Si l'élément parent peut fournir à l'élément actuel une valeur de largeur supérieure à max-content, alors fit-content = max-content
2. Si l'élément parent ne peut pas fournir à l'élément actuel une valeur de largeur supérieure à min-content, alors fit-content = min-content.
3. Si l'élément parent ne peut fournir à l'élément actuel qu'une valeur de largeur dans la plage (min-content, max-content) , l'élément actuel aura une largeur "ajustée" à l'élément parent. .
2. Si l'élément parent ne peut pas fournir à l'élément actuel une valeur de largeur supérieure à min-content, alors fit-content = min-content.
3. Si l'élément parent ne peut fournir à l'élément actuel qu'une valeur de largeur dans la plage (min-content, max-content) , l'élément actuel aura une largeur "ajustée" à l'élément parent. .

Le mot-clé fit-content aura un sens vertical si le mode d'écriture (writing mode) est vertical, ce qui signifie:
.element {
writing-mode: vertical-rl | vertical-lr;
width: fit-content;
}
