165 votes

Calc de max, ou max de calc en CSS

Est-il possible de faire quelque chose comme ceci

max-width: calc(max(500px, 100% - 80px))

o

max-width: max(500px, calc(100% - 80px)))

en CSS ?

10voto

huantao Points 58

Changement max a Max vous verrez la magie sale

max-width: Max(500px, calc(100% - 80px)))

1voto

Jicub Points 21

@Amaud Existe-t-il une alternative pour obtenir le même résultat ?

Il existe une approche purement css sans js qui permettrait d'obtenir des résultats similaires. Vous devrez ajuster le padding/margin du conteneur des éléments parents.

.parent {
    padding: 0 50px 0 0;
    width: calc(50%-50px);
    background-color: #000;
}

.parent .child {
    max-width:100%;
    height:50px;
    background-color: #999;
}

<div class="parent">
  <div class="child"></div>
</div>

1voto

gemhar Points 143

Ceci n'est supporté que dans dart-sass https://sass-lang.com/documentation/syntax/special-functions#min-and-max .

Vous pouvez également utiliser l'interpolation de chaînes (similaire aux variables CSS) pour que cela fonctionne en dehors de dart-sass.

max-width: #{"max(500px, calc(100% - 80px))"}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X