Kann mir jemand den Unterschied zwischen style = "position:absolute"
und style = "position:relative"
und wie sie sich unterscheiden, wenn ich sie zu div
/ span
/ input
Elementen hinzufüge ?
Ich benutze absolute
gerade, aber ich möchte auch erforschen relative
. Wie wird dies die Positionierung verändern?
css
css-position
Varun
quelle
quelle
Antworten:
Absolute Positionierung bedeutet, dass das Element vollständig aus dem normalen Fluss des Seitenlayouts herausgenommen wird. Für die restlichen Elemente auf der Seite existiert das absolut positionierte Element einfach nicht. Das Element selbst wird dann separat gezeichnet, sozusagen "über allem" an der Position, die Sie mithilfe der
left, right, top and bottom
Attribute angeben .Unter Verwendung der Position, die Sie mit diesen Attributen angeben, wird das Element dann an der Position innerhalb seines letzten Vorfahrenelements platziert, das ein anderes Positionsattribut als
static
(Seitenelemente sind standardmäßig statisch, wenn kein Positionsattribut angegeben ist) oder des Dokumentkörpers (Browser) aufweist Ansichtsfenster), wenn kein solcher Vorfahr existiert.Wenn ich zum Beispiel diesen Code hätte:
...das
<div>
wäre 20px vom oberen Rand des Browser-Ansichtsfensters und 20px vom linken Rand desselben positioniert.Wenn ich jedoch so etwas gemacht hätte:
... dann würde das
inner
div 20px vom oberenouter
Rand des div und 20px vom linken Rand desselbenouter
positioniert sein , da das div nicht mit positioniert ist,position:static
weil wir es explizit für die Verwendung festgelegt habenposition:relative
.Relative Positionierung ist dagegen so, als würde man überhaupt keine Positionierung angeben, aber die
left, right, top and bottom
Attribute "schubsen" das Element aus ihrem normalen Layout heraus. Der Rest der Elemente auf der Seite wird immer noch so angeordnet, als ob sich das Element an seiner normalen Stelle befindet.Wenn ich zum Beispiel diesen Code hätte:
... dann würden alle drei
<span>
Elemente ohne Überlappung nebeneinander sitzen.Wenn ich die zweite Einstellung
<span>
für die relative Positionierung wie folgt einstelle :... dann würde Span2 die rechte Seite von Span1 um 5px überlappen. Span1 und Span3 würden genau an der gleichen Stelle sitzen wie im ersten Beispiel und einen Abstand von 5 Pixel zwischen der rechten Seite von Span2 und der linken Seite von Span3 lassen.
Hoffe das klärt die Dinge ein bisschen.
quelle
Relative Positionierung: Das Element erstellt seine eigenen Koordinatenachsen an einem von der Koordinatenachse des Ansichtsfensters versetzten Ort. Es ist Teil des Dokumentenflusses, aber verschoben.
Absolute Positionierung: Ein Element sucht unter seinen übergeordneten Elementen nach den nächsten verfügbaren Koordinatenachsen. Das Element wird dann positioniert, indem Offsets von dieser Koordinatenachse angegeben werden. Es wird aus dem normalen Dokumentenfluss entfernt.
Quelle
quelle
Sie werden diesen Positionierungsartikel auf jeden Fall aus 'A List Apart' lesen wollen . Hat geholfen, die CSS-Positionierung zu entmystifizieren (was mir vor diesem Artikel verrückt vorkam).
quelle
Mit der CSS-Positionierung können Sie ein Element genau dort platzieren, wo Sie es auf Ihrer Seite haben möchten.
Wenn Sie die CSS-Positionierung verwenden möchten, müssen Sie zunächst die Position der CSS-Eigenschaft verwenden, um dem Browser mitzuteilen, ob Sie die absolute oder relative Positionierung verwenden möchten.
Beide Positionen haben unterschiedliche Funktionen. In CSS Wenn Sie die Position festgelegt haben, können Sie die Attribute oben, rechts, unten und links verwenden.
Absolute Position
Ein absolutes Positionselement wird relativ zum ersten übergeordneten Element positioniert, dessen Position nicht statisch ist.
Relative Position
Ein relativ positioniertes Element wird relativ zu seiner normalen Position positioniert.
Um ein Element relativ zu positionieren, wird die Eigenschaftsposition als relativ festgelegt. Der Unterschied zwischen absoluter und relativer Positionierung besteht darin, wie die Position berechnet wird.
Mehr: Postion Relative vs Absolute
quelle
OK, sehr offensichtliche Antwort hier ... im Grunde ist die relative Position relativ zum vorherigen Element oder Fenster, während sich die anderen Elemente absolut nicht interessieren, es sei denn, es ist ein Elternteil, wenn Sie oben und links verwenden ...
Schauen Sie sich das Beispiel an, das ich für Sie erstellt habe, um die Unterschiede zu zeigen ...
Sie können es auch in Aktion sehen, indem Sie das CSS verwenden, das ich für Sie erstellt habe. Sie können sehen, wie sich absolute und relative Positionen verhalten:
quelle
Die absolute Positionierung basiert auf den Koordinaten der Anzeige:
^ Platziert das Element oben links im Fenster.
Die relative Position ist relativ zu der Position des Elements:
^ Platziert das Element 1px nach unten und 1px von links von der Stelle, an der es ursprünglich stand :)
quelle
Relativ:
Ein Element mit
position: relative;
wird relativ zu seiner normalen Position positioniert.Wenn Sie einem relativen Element keine Positionierungsattribute (oben, links, unten oder rechts) hinzufügen, hat dies keinerlei Auswirkungen auf die Positionierung. Es wird sich genau wie ein
position: static
Element verhalten .Wenn Sie jedoch ein anderes Positionierungsattribut hinzufügen, z. B. top: 10px;, wird die Position um 10 Pixel von der normalen Position nach unten verschoben.
Ein Element mit dieser Art der Positionierung wird von anderen Elementen beeinflusst und wirkt sich auch auf andere aus.
Absolut:
Mit einem Element mit
position: absolute;
können Sie jedes Element genau dort platzieren, wo Sie es haben möchten. Sie verwenden die Positionierungsattribute oben, links, unten. und rechts, um den Ort einzustellen.Es wird relativ zum nächsten nicht statischen Vorfahren platziert. Wenn es keinen solchen Container gibt, wird er relativ zur Seite selbst platziert.
Es wird aus dem normalen Elementfluss auf der Seite entfernt.
Ein Element mit dieser Art der Positionierung wird von anderen Elementen nicht beeinflusst und beeinflusst auch nicht den Fluss anderer Elemente.
Weitere Informationen finden Sie in diesem selbsterklärenden Beispiel. https://codepen.io/nyctophiliac/pen/BJMqjX
quelle
Absolute platziert das Objekt (div, span usw.) an einem absolut erzwungenen Ort (normalerweise in Pixel bestimmt) und relativ platziert es einen bestimmten Betrag von dem Ort entfernt, an dem es sich normalerweise befindet. Beispielsweise:
Möglicherweise wird die linke Seite des Texts ausgeblendet, wenn sie sich innerhalb von 20 Pixel am linken Bildschirmrand befindet.
quelle
position: absolute
kann überall platziert werden und dort bleiben, z. B. 0,0.position: relative
wird mit Versatz von der Position platziert, an der es ursprünglich im Browser platziert wurde.quelle
Position: Relativer Akt als übergeordnetes Element Position: Absoluter Akt als Kind der relativen Position. Sie können das folgende Beispiel sehen
quelle