Pourquoi ma couleur d'arrière-plan ne montre pas si j'ai display: inline?
<html>
<body>
<div style="display: inline; background-color: #555;">
<h3>test</h3>
</div>
</body>
</html>
Voici mon code. Je me demande pourquoi ma couleur d'arrière-plan ne s'affiche pas. Si je change de css display de inline block, puis il s'afficher. Pourquoi il ne s'affiche pas si l'affichage est en ligne? Je suis en train d'essayer de comprendre la raison du problème autre que la recherche d'une solution.
Voir aussi: stackoverflow.com/questions/3099030/...
OriginalL'auteur user926958 | 2011-09-16
Vous devez vous connecter pour publier un commentaire.
La div ne prend pas la place si c'est en ligne. si vous souhaitez qu'un élément inline qui montre que la hauteur des enfants, puis utilisez
display: inline-block;
.Que pour une bonne discussion, j'avais confiance QuirksModes'prendre de meilleures que les miennes. L'essentiel est qu'un
inline
élément n'est pas de pousser les autres éléments de la route.Je suis en train d'essayer de comprendre la raison du problème au lieu de chercher la solution. Pouvez-vous expliquer plus en détail sur le problème? Voulez-vous dire si il est en ligne, alors il ne peut pas détecter la largeur de la h3, de sorte qu'il tirage de la largeur de 0?
Je comprends bien que l'élément ne prend plus de place qu'il doit montrer qu'il est
> *
sur la même ligne de texte. Désolé, mes connaissances en CSS s'arrête là où il n'aide plus me de style de la page s'affiche correctement, mais le widget en bas de la QuirksMode lien devrait rendre assez facile à comprendre.OriginalL'auteur fncomp
Le problème est que vous avez une
H3
, unblocking element
, à l'intérieur de lainline element
.Vous pouvez voir ce qui se passe avec:
ou faire H3 en ligne:
OriginalL'auteur Joe
solution simple, mieux, dans certains cas, c'est pour ajouter un peu de rembourrage à la ligne div contenant votre tête
OriginalL'auteur Fahad
La dernière révision de CSS2.1 a ceci à dire sur la question:
En d'autres termes, à partir d'un modèle de point de vue, le inline div et h3 combinaison forme une ligne de la boîte, une boîte de bloc et un autre inline boîte. Seuls les deux inline boîtes de prendre la mise en forme (c'est à dire la couleur d'arrière-plan) et le bloc de la boîte ne forme pas une partie de la ligne cadre défini par la div et prend ainsi ses arrière-plan par défaut-réglage de couleur (ce qui est transparent, montrant à travers la couleur d'arrière-plan de son bloc contenant de la boîte).
OriginalL'auteur Alohci
Si vous essayez de créer un surligneur effet utiliser le ci-dessous:
OriginalL'auteur Reina
div
est un élément de bloc par défaut. Changer le modèle d'affichage d'un bloc élément inline n'est pas une bonne pratique. les rubriques sont les éléments de bloc. L'imbrication d'un élément de bloc dans un élément inline n'est pas valide html. Si vous voulez une mise en lumière comme effet (en donnant la couleur d'arrière-plan, juste pour le texte et non l'ensemble des élément de la boîte de), vous devez utiliser un élément inline comme unspan
.OriginalL'auteur Mohsen