Lors de l'ajout de div
s à un div
avec une hauteur fixe, les div enfants apparaîtront de haut en bas, collés à la bordure supérieure.
┌─────────────────────────┐
│ Child Div 1 │
│ Child Div 2 │
│ │
│ │
│ │
└─────────────────────────┘
J'essaie maintenant de les afficher de bas en haut comme ceci (en me collant à la bordure inférieure):
┌─────────────────────────┐
│ │
│ │
│ │
│ Child Div 1 │
│ Child Div 2 │
└─────────────────────────┘
┌─────────────────────────┐
│ │
│ │
│ Child Div 1 │
│ Child Div 2 │
│ Child Div 3 │
└─────────────────────────┘
┌───────────────────────┬─┐
│ Child Div 2 │▲│
│ Child Div 3 │ │
│ Child Div 4 │ │
│ Child Div 5 │█│
│ Child Div 6 │▼│
└───────────────────────┴─┘
Et ainsi de suite ... J'espère que vous comprenez ce que je veux dire.
Est-ce simplement faisable avec CSS (quelque chose comme vertical-align: bottom
)? Ou dois-je pirater quelque chose avec JavaScript?
overflow-y:auto
pour le conteneurposition:absolute
enfant.Une réponse plus moderne à cela serait d'utiliser
flexbox
.Comme de nombreuses autres fonctionnalités modernes, elles ne fonctionneront pas dans les navigateurs hérités , donc à moins que vous ne soyez prêt à abandonner la prise en charge des navigateurs de l'ère IE8-9, vous devrez rechercher une autre méthode.
Voici comment procéder:
Et c'est tout ce dont vous avez besoin. Pour en savoir plus
flexbox
, voir MDN .Voici un exemple de ceci avec un style de base: http://codepen.io/Mest/pen/Gnbfk
la source
Nous pouvons simplement utiliser la transformation CSS pour archiver cela.
J'ai créé un codepen pour cela. https://codepen.io/king-dev/pen/PoPgXEg
L'idée est de retourner la racine d'abord horizontalement, puis de retourner à nouveau les div enfants directs.
REMARQUE: la méthode ci-dessus inverse également l'ordre des divs. Si vous voulez simplement les placer pour commencer par le bas, vous pouvez faire ce qui suit.
la source
Keepin 'it oldskool ...
Je voulais faire la même chose dans un
#header
div alors j'ai créé un div vide appelé#headspace
et l' ai placé au sommet de la pile (à l'intérieur de#header
):Ensuite, j'ai utilisé un pourcentage , pour la hauteur du
#headspace
div invisible , pour pousser les autres vers le bas. Il est facile d'utiliser les outils de développement / inspecteur du navigateur pour que cela soit parfait.la source
div
est ajouté. Je mets donc ceci ici au cas où quelqu'un voudrait réellement une solution plus statique. En d'autres termes: je pense qu'un vote nul serait plus approprié qu'un vote négatif.Child Div #
où les div enfants augmentent et, lorsqu'ils sont augmentés d'une certaine hauteur, un défilement devrait être affiché. donc cette réponse ne fournit pas de solution à la question réelle.je veux que cela fonctionne avec bootstarp comme une application de discussion où les messages circulent de bas en haut
après avoir lu des trucs, j'ai trouvé ça
J'ai un div externe assumer la classe .outerDiv puis UI, list
la source
C'est simple lorsque vous utilisez
position: absolute
.http://jsfiddle.net/XHeZj/
la source
la source