J'utilise Bootstrap 4 et j'ai un div
qui contient un long texte.
Si le texte devient trop long, il déborde mon div
.
Il ressemble à this .
L'ajout d'un espace (résultant en des mots plus courts) donne une apparence correcte.
Des mots longs comme " hhhhhhhhhhhhhhhhh " code > provoquera un débordement, comme dans l'image.
Mon code:
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" /> <div class="p-1 mt-4 d-flex flex-wrap"> <div class="p-1 m-1 d-flex flex-content-around shadow-lg p-2 mb-4 bg-white rounded box"> <div class="my-auto"> <img alt="pokemon pic" src="https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/66.png" /> </div> <div class="p-1 d-flex flex-column"> <div class="p-0"> <h3>Macgoooooo</h3> </div> <div class="p-0 d-flex flex-column flex-wrap"> <div class="p-0"> <span>cought at</span> </div> <div class="p-0"> <small>2019-09-01</small> </div> </div> </div> </div> </div>
J'aimerais vraiment savoir comment faire rentrer le texte dans la flexbox.
3 Réponses :
Utilisez overflow-wrap: break-word;
Docs comme ceci:
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" /> <div class="p-1 mt-4 d-flex flex-wrap"> <div class="p-1 m-1 d-flex flex-content-around shadow-lg p-2 mb-4 bg-white rounded box"> <div class="my-auto"> <img alt="pokemon pic" src="https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/66.png" /> </div> <div class="p-1 d-flex flex-column" style="display:inline-block; word-break: break-word;"> <div class="p-0"> <h3>Macgoooooo</h3> </div> <div class="p-0 d-flex flex-column flex-wrap"> <div class="p-0"> <span>cought at</span> </div> <div class="p-0"> <small>2019-09-01</small> </div> </div> </div> </div> </div>
alors est-ce que cela cassera automatiquement le mot ??
c'est un attribut CSS qui fera l'affaire pour vous. Si cela aide, n'oubliez pas de voter et d'accepter
quand j'ai essayé d'ajouter ce style sur chrome html, cela ne change pas
ajoutez un autre attribut comme style = "display: inline-block; word-break: break-word;"
Le code fonctionne parfaitement bien, mais s'il y a toujours un problème, vous devriez essayer ce qui suit pour ajouter dans votre css:
h3{ word-break: break-all; }
Cela cassera tous les mots longs et conservera tout en plusieurs lignes selon la longueur de votre mot.
.truncate { width: 250px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } for the width attribute, you need to use the width of the box
Le code fonctionne parfaitement. Quel est exactement le problème?
avez-vous cliqué sur l'image que j'ai téléchargée ci-dessus? le texte va être à l'extérieur
J'ai vérifié le code que vous avez téléchargé. Tout est dans la boîte.
sur le mien n'est pas, j'utilise chrome, avez-vous ouvert ma photo ci-dessus ?? vous pouvez voir le texte Macgoooooo être en dehors de sa boîte