Ich kann es nicht schaffen, ein Div zu stylen, so dass es horizontal in der Mitte (Breite) seines Containers und vertikal in der Mitte der Fensterhöhe positioniert ist.Div-Position in Bezug auf den Container und das Fenster
Antwort
Meinst du sowas?
body, html { height: 100%; margin: 0; padding: 0; }
div { padding: 1em; box-sizing: border-box; }
.parent {
width: 50%;
background: lightblue;
border:1px solid blue;
}
.child {
width: 50%;
background: lightpink;
border:1px solid red;
margin: 0 auto;
top: 50vh;
position: relative;
transform: translateY(-100%);
}
<div class="parent">
<div class="child">middle</div>
</div>
jsFiddle: https://jsfiddle.net/azizn/pxsL7usy/
Logic:
ein div
horizontal innerhalb seiner Eltern/Behälterzentrierung ist ziemlich einfach, definieren wir nur ein width
und margin: 0 auto
hinzuzufügen.
Um ein Element in der Mitte des Ansichtsfensters vertikal zu machen, können Sie die CSS-Ansichtsfenstereinheiten verwenden, in diesem Fall vh
, die Höhe des Ansichtsfensters. Sie wenden einen nicht statischen position
(wie relative
, absolute
oder fixed
) und einen top
Wert von 50vh
an, um das div auf die Hälfte des Darstellungsbereichs zu versetzen. Fügen Sie dann hinzu, um die Höhe des Elements vom oberen Offset zu verringern.
Dies ist eigentlich nicht möglich in reinem CSS, zumindest nicht, wenn Sie anständige Cross-Browser-Unterstützung wollen. Sie können horizontal mit CSS zentrieren, aber vertikal benötigt etwas Javascript.
- 1. Unterschied zwischen Httpcontext und HttpContextWrapper in Bezug auf den Unit-Tests und in Bezug auf Web Forms und MVC
- 2. Rectangle Koordinaten in Bezug auf den Rotationswinkel
- 3. Wie ändere ich die Textgröße in Bezug auf das Fenster in HTML?
- 4. Unterschied zwischen C und C++ in Bezug auf den „^ =“ Operator
- 5. Verwirrung in Bezug auf das 'align' Attribut
- 6. Über den Eigentümer und das eigene Fenster in Windows
- 7. In Bezug auf Tabcontrol und Formen
- 8. Ist es möglich, Castle Windsor Eigentumsabhängigkeiten zu lösen, wenn Sie keinen Bezug auf den Container haben?
- 9. In Bezug auf keytool
- 10. In Bezug auf Datei application.properties und Umgebungsvariable
- 11. In Bezug auf Notify()
- 12. zuweisbare Bezug auf beide lvalues und rvalues
- 13. In Bezug auf Ruhezustand Transaktion und Flush
- 14. In Bezug auf Datenbindung und ComboBoxen?
- 15. In Bezug auf hashcode() und equals()
- 16. Verwirrung in Bezug auf das Überschreiben von Klasseneigenschaften in Swift
- 17. in Bezug auf Tcp Tahoe und Reno?
- 18. In Bezug auf REST Antwort und XMLElement
- 19. Entity Framework 6: Bezug auf den Userprofile
- 20. Angularjs geben den Fokus auf das Fenster nach dem Login
- 21. In Bezug auf Gridview
- 22. Entwurfsentscheidung in Bezug auf std :: array fill
- 23. Durch Klicken auf den Desktop wird das GTK3-Fenster ausgeblendet
- 24. Wie "aktualisiert" man ein Fenster in IE, ohne den Fokus auf das Fenster zu stehlen?
- 25. in Bezug auf cfmail
- 26. In Bezug auf WebService
- 27. Schienen: Bezug nehmend auf das Modell gehört das Objekt zu
- 28. In Bezug auf regulären Ausdruck
- 29. vim: "erweitern" Fenster in das nächste Fenster
- 30. Probleme in Bezug auf Boost :: Python und Boost :: Threads
ok, wie soll ich mit Javascript machen? – Sindico
Sie müssen die div Position auf fixed setzen. Wenn dein div etwas Höhe hat, solltest du top: 0 ;, bottom: 0; und Marge: auto ;. Nächster Schritt ist die horizontale Zentrierung. JS wird helfen;). Es sollte so aussehen: var a = container.offset(). Links + (container.width/2); div.css ({links: a - div.width/2}) Ich denke, es ist alles :) P.S. Es ist ein Pseudocode: P –