Comment utiliser flexbox pour créer une étendue basée sur la largeur du contenu
P粉726234648
2023-08-15 12:26:13
<p>J'ai utilisé span et div dans un élément parent à rangée flexible de largeur fixe</p>
<p><br /></p>
<pre class="brush:css;toolbar:false;">.parent {
affichage : flexible ;
direction flexible : rangée ;
largeur : 230 px ;
couleur de fond : bleu ;
}
.enfant1 {
couleur de fond : rouge ;
}
.enfant2 {
largeur minimale : 40 px ;
}</pré>
<pre class="brush:html;toolbar:false;"><div class="parent">
<span class="child1">Ceci est du texte en span</span>
<div class="enfant2"/>
</div></pre>
<p><br /></p>
<p>Je veux que l'étendue ait toujours la même largeur que le texte et que le div occupe toute la largeur restante de l'élément parent. Désormais (comme vous pouvez le voir dans l'extrait de code), lorsque le texte passe sur une nouvelle ligne, la zone d'arrière-plan rouge est plus large que le texte. Comment corriger ce code ? J'ai besoin que le fond rouge se termine exactement au bord du texte</p>
Peut-être pourriez-vous définir
parent
sur une grille et utiliser des unités fr pour les mesures ?Cela donnera au conteneur de texte la même largeur que le texte et fera en sorte que les conteneurs restants occupent 1 part de l'espace restant (aucun autre conteneur n'occupera 100 % de l'espace).
Pour l'affichage des lignes, remplacez simplement les colonnes par des lignes.