<ul> <li>Coffee</li> <li>Tea</li> <li>Milk</li> </ul>
li { background-color: yellow; }
Je veux que les éléments de la liste aient à la fois une background-color
et une largeur ne dépassant pas leur contenu. Mais si je leur ajoute la propriété display: inline-block
, ils apparaîtront tous côte à côte. Comment pourrais-je résoudre ce problème?
4 Réponses :
<ul> <li>Coffee</li> <li>Tea</li> <li>Milk</li> <li>Coffee & Milk & Coffee & Milk & Coffee & Milk & Coffee & Milk & Coffee & Milk & Coffee & Milk &</li> </ul>
Tbh, je ne savais même pas que le max-content
existe. Pourquoi n'est-il pas affiché comme valeur dans la propriété width
ici w3schools.com/cssref/pr_dim_width.asp
@darkchampionz car ce site ne doit pas être utilisé . Vérifiez ici: developer.mozilla.org/en-US/docs/Web/CSS/width
salut! La solution a semblé fonctionner au début mais, comme il s'est avéré, elle n'enveloppe pas le texte. Existe-t-il également un moyen de résoudre ce problème? Merci
@darkchampionz avez-vous également défini la largeur maximale comme dans l'exemple? J'ai ajouté un li plus long pour montrer qu'il s'enroule;)
Le moyen le plus simple est de placer l'élément de liste dans une span
.
<ul> <li><span>Coffee</span></li> <li><span>Tea</span></li> <li><span>Milk</span></li> </ul> li span { background-color: yellow; }
Vous pouvez utiliser span
dans les balises li
<ul> <li><span>Coffee</span></li> <li><span>Tea</span></li> <li><span>Milk</span></li> </ul>
span { background-color: yellow; }
L'ancien flotteur peut le faire ici:
<ul> <li>Coffee</li> <li>Tea</li> <li>Milk</li> </ul>
li { background-color: yellow; float:left; clear:left; }