Wie kann ich ein Element so positionieren, dass es sich immer auf dem Boden des Containers befindet, ohne "absolute" Positionierung zu verwenden? Ich habe einen Container mit 2 Elementen und einer von ihnen ist Textbeschreibung, so dass es so groß wie der Text sein kann. Ich möchte zweites Element am unteren Rand der Seite positionieren, unabhängig davon, ob der Text im vorherigen div leer ist, und wenn Text nicht leer ist, möchte ich 10px zwischen ihnen habenCSS-Positionierung unten ohne absolute Positionierung
Antwort
Aktualisiert: JSFiddle mit flexbox
, um Ihren Code angewendet.
https://jsfiddle.net/ec7qxtfr/1/
flexbox
können Sie dies erreichen helfen. Fügen Sie Ihrem übergeordneten Container Folgendes hinzu.
Das nächste Bit ist für die 10px
Polsterung, die Sie wollten. Dies zielt auf das erste untergeordnete Element im Container ab.
.child:first-child {
padding-bottom: 10px;
}
Solange das erste Kind div
vorhanden ist, auch wenn Sie keinen Inhalt (keine Ziffern), die zweite div
noch auf den Boden des Behälters dank flexbox
geschoben werden. Ebenso können Sie die Eigenschaft height
auskommentieren, um zu überprüfen, ob die padding
zwischen den beiden untergeordneten Elementen vorhanden ist.
Überprüfen Sie den JSFiddle unten. Sie können die Höhe im übergeordneten Container anpassen, um zu bestätigen, dass das zweite Div am unteren Ende des Containers bleibt.
https://jsfiddle.net/o3r40keu/5/
Hinweis: Diese Lösung wird vorausgesetzt, dass Sie nur zwei untergeordnete Elemente in diesem übergeordneten Container haben.
Ich hoffe, das hilft!
Sie können flexbox verwenden. Wenn Sie den Behälter zu
.container-class {
display: flex;
flex-direction: column;
}
Sie dann das Kind Rand oben nach auto
einstellen.
.child {
margin-top: auto;
}
Die HTML könnte wie folgt aussehen:
<section class="container-class">
<p class="child">...</p>
</section>
Sie könnten eine bestimmte Höhe auf dem Behälter festlegen müssen dafür arbeiten, aber der Kern der Lösung Flexbox + margin-top verwendet: Auto auf das Element, das Sie an der Unterseite bleiben möchten. Das Padding und andere Stile, die Sie erreichen möchten, sollten wie erwartet funktionieren, keine Tricks.
Beachten Sie, dass Sie Ihre Flexbox Requisiten Präfix benötigen, das heißt:
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
- 1. Pure CSS-Ticker ohne absolute Positionierung
- 2. Center-Symbol ohne absolute oder relative Positionierung?
- 3. Div über das Bild ohne absolute Positionierung
- 4. Absolute Positionierung von Außenrand
- 5. Absolute Positionierung und Textausrichtung
- 6. CSS - absolute Positionierung Ausgabe
- 7. absolute Positionierung des Bildes?
- 8. Absolute Positionierung in WPF
- 9. Mischen Absolute Positionierung, Relative Positionierung von DIVS
- 10. Absolute Positionierung innerhalb der relativen Positionierung?
- 11. seltsame absolute Positionierung CSS-Probleme
- 12. IE6 Layout Problem - absolute Positionierung
- 13. CSS - Absolute Positionierung oder Float?
- 14. Java Swing GUI absolute Positionierung
- 15. CSS-Clip und absolute Positionierung
- 16. CSS Absolute Positionierung - folgende Div
- 17. Center ein Bild in einem Div ohne absolute Positionierung
- 18. Overlay divs ohne absolute Positionierung und Größenanpassung Verzerrung
- 19. layout - das letzte codierte div oben ohne absolute Positionierung zeigen
- 20. Absolute Positionierung stört die Flexbox-Positionierung in Firefox
- 21. Positionierung absolute Höhe Element innerhalb relativ
- 22. Absolute Positionierung funktioniert nicht in WordPress
- 23. reagieren native absolute Positionierung funktioniert nicht
- 24. Positionierung absolute div innerhalb Eltern div
- 25. Positionierung div unten links mit flexbox
- 26. Position div nach unten eines anderen div, ohne Absolute
- 27. Absolute Positionierung in Google Mail-E-Mails
- 28. Absolute Positionierung ignorieren Padding von Eltern
- 29. Absolute Positionierung innerhalb relativ mit 100% Breite
- 30. absolute Positionierung innerhalb der Anzeige: Tabelle-Zelle
Laden Sie die Fiddle –
Bitte schreiben Sie genügend Code, um ein minimales Beispiel zu erstellen, damit wir Ihnen helfen können. –
Bitte erläutern Sie auch, warum absolute Positionierung keine gute Lösung für Sie ist. –