Comment aligner une étiquette sur le “FOND” d'un div dans le CSS?
De DÉMONSTRATION peut être trouvé à:
http://www.bootply.com/VZ7gvA7ndE#
Je régler la hauteur de div
de 100px et veulent montrer la label
au bas de la div
. J'utilise
#contain-word-lab {
vertical-align: bottom;
margin-bottom: 5px;
}
Toutefois, cela ne fonctionne pas à tous. Le label
encore aligner vers le haut de la div
.
Quelqu'un aurait-il une idée à ce propos? Pourquoi vertical-align
ne fonctionne pas ici? Merci!
- vertical-align: bas; pourquoi l'aide de guillemets doubles
" "
? - une erreur, maintenant corrigé
Vous devez vous connecter pour publier un commentaire.
Pourquoi
vertical-align: bottom
ne travaille pas seulDepuis la hauteur de l'élément parent est plus grand que le calcul de la hauteur de l'étiquette, à l'Aide de
vertical-align: bottom
ne déplacer (inline) de l'élément de fond de la société mère.Parce que dans une ligne de flux,
vertical-align
détermine la façon dont les éléments sont positionnés en fonction de leur parent de base; Et à l'aide de cette propriété sur l'étiquette de ne pas modifier la position de base de son parent.Inline éléments de niveau (
inline
,inline-block
) sont assis dans leur référence par défaut. Et si ils ont des hauteurs différentes, le plus grand élément permettra de déterminer où sont les autres qui doit être placé.I. e. Dans une ligne de flux, le plus grand élément affectera/déplacer la ligne de base de la société mère:
La recherche d'une solution
Par conséquent, dans les cas où le parent a une explicite
height
, si nous pouvions avoir une ligne enfant qui a exactement la même hauteur que le parent (pleine hauteur d'enfant), il aurait une incidence sur la ligne de flux et de déplacer la ligne de base vers le bas:Et afin de garder ces éléments (y compris les lettres ayant jambages) au sein du parent, nous devons aligner verticalement par
vertical-align: bottom;
de la déclaration de.Mettre tous ensemble
Par conséquent, vous pouvez créer un élément de la hauteur (Personnellement, je préfère aller avec pseudo-éléments) à l'intérieur de la mère à l'alignement de l'étiquette en bas.
EXEMPLE ICI
exemple rapide
http://jsfiddle.net/oa2gmuq3/
si vous ajoutez
à l'étiquette il aime à le maintenir au fond
définir comme position:absolute;
Appliquer
position:relative
à la div parent et faire de votre étiquette en tant queposition:absolute
.DÉMO
vertical-align
a tendance à mieux travailler lorsque les conteneurs sont de table/table-comme des éléments (par exemple.table
,tr
,td
,th
) ou en ligne, des éléments de texte (par exemplespan
). Cependant, parce quetable
éléments de mise en page ne sont pas une bonne idée. Nous pouvons faire d'autres éléments fonctionnent comme eux à l'aide de ladisplay:table;
etdisplay:table-cell;
propriétés css.Essayer d'appliquer le code css suivant:
DÉMO
table
peut causer un problème.div
élément si ce n'est pas pour devenir un souci. voici un exemple avec d'autresdiv
s autour d'elle sans problème. bootply.com/gmpFwz4lInvertical-align
s'applique uniquement aux cellules d'un tableau. Si vous souhaitez placer un élément au bas de son parent, vous avez besoin de lui donnerposition: absolute;
etbottom: 0;
.vertical-align only applies to table cells
Pas vrai. Il est applicable aux commandes de niveau et de cellules d'un tableau d'élément.Essayer de faire à la suite
VIOLON DÉMO
<html>
élément. I. e au bas de la page.Le "bas" ne fonctionne pas de toute façon 🙂 Essayez juste de
bottom
, sans ".En Plus de votre label une hauteur trop. Il est maintenant automatique de la hauteur et c'est exactement la taille de police. Je suggère l'ajout d'un
line-height: 100px;
à votre étiquette.