Ich weiß, position: absolutedass ein Element aus dem Fluss entfernt wird und es nicht mehr mit seinen Nachbarn interagiert.
Welche anderen Möglichkeiten gibt es, um dies zu erreichen?
Ich weiß, position: absolutedass ein Element aus dem Fluss entfernt wird und es nicht mehr mit seinen Nachbarn interagiert.
Welche anderen Möglichkeiten gibt es, um dies zu erreichen?
Antworten:
Keiner?
Ich meine, abgesehen davon display: none, dass ich es komplett aus dem Layout entfernt habe , bin ich mir ziemlich sicher, dass es das ist.
Stehen Sie vor einer bestimmten Situation, in der dies position: absolutekeine praktikable Lösung ist?
position: absoluteverursacht ein Neulackieren beim Scrollen, was sich
display: noneEntfernt das Element nicht nur vollständig aus dem Durchfluss.
Eine andere Möglichkeit besteht darin height: 0; overflow: visible;, ein Element festzulegen, das sich jedoch nicht wirklich außerhalb des Flusses befindet und daher das Zusammenbrechen des Randes unterbrechen kann .
::beforemit absoluter Positionierung, um den Hintergrund zu emulieren.
Es gibt display: none, aber ich denke, das könnte ein bisschen mehr sein als das, wonach Sie suchen.
display: nonean einer unsinnigen Stelle angezeigt (oben auf dem Bildschirm, wobei die Registerkarten verdeckt werden). Es scheint, dass nicht angezeigte Elemente wirklich positionlos sind, zumindest in diesem Browser.
Wenn Sie es schweben lassen, wird der Fluss neu organisiert, aber die Position: Absolut ist die einzige Möglichkeit, ihn vollständig aus dem Fluss des Dokuments zu entfernen.
position: fixed;wird auch ein Element aus dem Fluss "herausspringen", wie Sie sagen. :) :)
position: absolutemuss von einer Position begleitet werden. z.Btop: 1rem; left: 1rem
position: fixedPlatziert das Element jedoch an der Stelle, an der es normalerweise gemäß dem Dokumentfluss angezeigt wird, verhindert jedoch, dass es sich danach bewegt. Außerdem wird die Höhe effektiv auf 0px (in Bezug auf den Dom) gesetzt, sodass das nächste Element darüber verschoben wird.
Dies kann ziemlich cool sein, da Sie festlegen können position: fixed; z-index: 1(oder welchen Z-Index Sie auch immer benötigen), damit er über dem nächsten Element "erscheint".
Dies ist besonders nützlich für Überschriften mit fester Position, die beispielsweise beim Scrollen oben bleiben.
Ich weiß, dass diese Frage mehrere Jahre alt ist, aber ich denke, Sie versuchen es so zu bekommen, dass ein großes Element wie ein Bild die Höhe eines Div nicht beeinträchtigt?
Ich bin gerade auf etwas Ähnliches gestoßen, bei dem ich wollte, dass ein Bild ein Div überflutet, aber ich wollte, dass es am Ende einer Textfolge steht, also wusste ich nicht, wo es enden würde.
Eine Lösung, die ich herausgefunden habe, bestand darin, die Höhe des unteren Randes des Elements anzugeben. Wenn das Bild also 20 Pixel hoch ist,
margin-bottom: -20px;
vertical-align: top;
zum Beispiel.
Auf diese Weise schwebte es über die Außenseite des Div und blieb neben dem letzten Wort in der Zeichenfolge.