suchen
HeimWeb-FrontendCSS-TutorialEingehende Analyse der absoluten Positionierung in CSS und ein umfassendes Verständnis davon!

Dieser Artikel analysiert die absolute Positionierung in CSS und hilft Ihnen, sie gründlich zu verstehen. Ich hoffe, er wird Ihnen hilfreich sein!

Eingehende Analyse der absoluten Positionierung in CSS und ein umfassendes Verständnis davon!

Bei der Positionierung eines Elements geht es nicht so sehr um die Positionierung des Elements selbst, sondern vielmehr um die Position des Containers des Elements. Um sich selbst positionieren zu können, muss es wissen, zu welchem ​​übergeordneten Div es relativ positioniert wird. [Verwandte Empfehlung: „CSS-Video-Tutorial“]

Der folgende Code zeigt 4 verschachtelte Divs, .box-1 bis .box-3 werden nur zentriert durch display: flex und margin: auto. Für .box-4 ist kein margin festgelegt und es befindet sich an der Standardposition im Dokumentenfluss. .box-1.box-3 仅仅通过 display: flex 和  margin: auto 来实现居中。 .box-4  没有设置  margin ,处于文档流中默认的位置。

<body>
  <div class="box-1">
    <div class="box-2">
      <div class="box-3">
        <div class="box-4"></div>
      </div>
    </div>
  </div>
</body>

所有元素都没有设置 position 属性

body {
  display: flex;
}
.box-1,
.box-2,
.box-3 {
  display: flex;
  margin: auto;
}

Eingehende Analyse der absoluten Positionierung in CSS und ein umfassendes Verständnis davon!

.box-4 在默认位置

元素要想定位自己,必须知道2件事:

  • 通过 top, right, bottom, left 设置的值
  • 相对于哪个父级元素来定位

当我们给 .box-4 添加 position: absolute 属性后,发现它从普通文档流中脱离出来了。在没有设置位置属性的情况下,它只是呆在默认位置,也就是父容器的左上角。

Eingehende Analyse der absoluten Positionierung in CSS und ein umfassendes Verständnis davon!

.box-4  绝对定位时位置无偏移

通过添加 top: 0left: 0 ,元素必须要知道哪个元素将作为定位的参考容器。 可以看到这里元素被定位到了屏幕左上角。 .box-4 会先检查它的父容器是否设置了 position 属性。一开始,它发现 .box-3 没有设置定位属性,然后它就继续往上一层  .box-2.box-1 , 发现它们都没有设置可用的 position 属性 。

最终 .box-4 也没能找到可以用于定位参考的父级元素,最后只能以 body 作为定位参考。 元素最终被定位在屏幕左上角:

Eingehende Analyse der absoluten Positionierung in CSS und ein umfassendes Verständnis davon!

.box-4 绝对定位,所有父元素都未设置  position 属性

当我们给 .box-1 设置  position: relative 后 ,  .box-4 发现有了可用的定位参考。并最终相对于 .box-1  实现了定位:

Eingehende Analyse der absoluten Positionierung in CSS und ein umfassendes Verständnis davon!

.box-4 绝对定位,.box-1 相对定位,.box-2.box-3 不变

绝对定位元素将相对于离它最近的祖先元素来定位自己。

一旦找到了可用的祖先元素, 其它元素将不再与它相关(比如 box2 和 box3)。 下面的图片展示了分别给  .box-2.box-3 设置 position:relative 之后的效果:

Eingehende Analyse der absoluten Positionierung in CSS und ein umfassendes Verständnis davon!

Eingehende Analyse der absoluten Positionierung in CSS und ein umfassendes Verständnis davon!

.box-4  绝对定位,.box-2.box-3rrreee

Für alle Elemente ist das Attribut position nicht festgelegt
rrreee
Eingehende Analyse der absoluten Positionierung in CSS und ein umfassendes Verständnis davon!

.box-4 In der Standardposition

Um sich zu positionieren, müssen Sie zwei Dinge wissen:

  • Werte gesetzt durch top, right, bottom, left
  • Relativ zu dem zu positionierenden übergeordneten ElementAls wir das Attribut position: absolute zu .box-4 hinzugefügt haben, haben wir festgestellt, dass es so ist vom gewöhnlichen Dokument aus dem Fluss geändert. Ohne das Festlegen der Positionseigenschaft bleibt es einfach an der Standardposition, also der oberen linken Ecke des übergeordneten Containers.

    🎜Eingehende Analyse der absoluten Positionierung in CSS und ein umfassendes Verständnis davon!🎜🎜🎜 .box-4 Bei der absoluten Positionierung gibt es keinen Versatz in der Position🎜🎜🎜Durch Hinzufügen von top: 0 und left: 0 wird das Element muss wissen, welches Element als Referenzcontainer für die Positionierung dient. Sie können sehen, dass das Element hier in der oberen linken Ecke des Bildschirms positioniert ist. .box-4 prüft zunächst, ob für den übergeordneten Container das Attribut position festgelegt ist. Zunächst wird festgestellt, dass für .box-3 kein Positionierungsattribut festgelegt ist, und dann geht es eine Ebene weiter bis zu .box-2 und .box- 1 code> und stellte fest, dass keiner von ihnen das verfügbare Attribut <code>position festlegte. 🎜🎜Am Ende konnte .box-4 kein übergeordnetes Element finden, das als Positionierungsreferenz verwendet werden konnte. Am Ende konnte body nur als verwendet werden eine Positionierungsreferenz. Das Element wird schließlich in der oberen linken Ecke des Bildschirms positioniert: 🎜🎜 Eingehende Analyse der absoluten Positionierung in CSS und ein umfassendes Verständnis davon!🎜🎜🎜.box-4 Absolute Positionierung, alle übergeordneten Elemente haben nicht das Attribut position festgelegt🎜🎜🎜Wenn wir geben .box- 1 Nach dem Festlegen von position: relative hat .box-4 festgestellt, dass eine Positionierungsreferenz verfügbar ist. Und schließlich wurde die Positionierung relativ zu .box-1 erreicht: 🎜🎜Eingehende Analyse der absoluten Positionierung in CSS und ein umfassendes Verständnis davon!🎜🎜🎜.box-4 Absolute Positionierung, .box-1 Relative Positionierung, . box-2 und .box-3 unverändert 🎜🎜

    Absolut positionierte Elemente werden relativ zu ihrem nächsten Vorgängerelement Own positioniert.

    🎜Sobald ein verfügbares Vorgängerelement gefunden wird, sind andere Elemente nicht mehr damit verknüpft (z. B. Box2 und Box3). Das Bild unten zeigt den Effekt nach dem Festlegen von position:relative für .box-2 bzw. .box-3: 🎜🎜Eingehende Analyse der absoluten Positionierung in CSS und ein umfassendes Verständnis davon!🎜🎜Eingehende Analyse der absoluten Positionierung in CSS und ein umfassendes Verständnis davon!🎜🎜🎜.box-4 Absolute Positionierung, <code>.box-2 und .box-3 Relative Positionierung🎜🎜🎜🎜Originaladresse: https://juejin.cn/post/7008462323316686862🎜 🎜 Autor: M Cool🎜🎜🎜Weitere Kenntnisse zum Thema Programmierung finden Sie unter: 🎜Einführung in die Programmierung🎜! ! 🎜

    Das obige ist der detaillierte Inhalt vonEingehende Analyse der absoluten Positionierung in CSS und ein umfassendes Verständnis davon!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme
    Dieser Artikel ist reproduziert unter:掘金--M酷. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
    Die verlorenen CSS -Tricks von cohost.orgDie verlorenen CSS -Tricks von cohost.orgApr 25, 2025 am 09:51 AM

    In diesem Beitrag zeigt Blackle Mori Ihnen einige der Hacks, die gefunden wurden, während Sie versuchen, die Grenzen der HTML -Unterstützung von Cohost zu überschreiten. Verwenden Sie diese, wenn Sie es wagen, damit auch Sie als CSS -Verbrecher bezeichnet werden.

    Nächstes Level CSS -Styling für CursorNächstes Level CSS -Styling für CursorApr 23, 2025 am 11:04 AM

    Benutzerdefinierte Cursoren mit CSS sind großartig, aber wir können die Dinge mit JavaScript auf die nächste Stufe bringen. Mit JavaScript können wir zwischen Cursorzuständen wechseln, dynamischen Text in den Cursor platzieren, komplexe Animationen anwenden und Filter anwenden.

    Worlds Collide: Keyframe -Kollisionserkennung mit Style -AbfragenWorlds Collide: Keyframe -Kollisionserkennung mit Style -AbfragenApr 23, 2025 am 10:42 AM

    Interaktive CSS -Animationen mit Elementen, die sich gegenseitig abprallen, scheinen im Jahr 2025 plausibler zu sein. Obwohl es unnötig ist, eine Pong in CSS zu implementieren

    Verwendung von CSS-Hintergrund-Filter für UI-EffekteVerwendung von CSS-Hintergrund-Filter für UI-EffekteApr 23, 2025 am 10:20 AM

    Tipps und Tricks zur Verwendung der CSS Backdrop-Filter-Eigenschaft, um Benutzeroberflächen zu stylen. Sie lernen, wie Sie Hintergrundfilter zwischen mehreren Elementen schichten, und integrieren sie in andere grafische CSS -Effekte, um aufwändige Designs zu erstellen.

    Lächeln?Lächeln?Apr 23, 2025 am 09:57 AM

    Nun, es stellt sich heraus, dass die integrierten Animationsfunktionen von SVG nie wie geplant veraltet waren. Sicher, CSS und JavaScript sind mehr als in der Lage, die Ladung zu tragen, aber es ist gut zu wissen, dass Smil nicht wie zuvor im Wasser tot ist

    'Hübsch' ist im Auge des Betrachters'Hübsch' ist im Auge des BetrachtersApr 23, 2025 am 09:40 AM

    Yay, let ' S sprung für Textschreiber: Pretty Landing in Safari Technology Preview! Aber achten Sie darauf, dass es sich von der Art und Weise unterscheidet, wie es in Chrombrowsern funktioniert.

    CSS-Tricks Chronicles xliiiCSS-Tricks Chronicles xliiiApr 23, 2025 am 09:35 AM

    Dieses CSS-Tricks-Update zeigt erhebliche Fortschritte im Almanac, den neuesten Podcast-Auftritten, einem neuen CSS-Leitfaden und der Hinzufügung mehrerer neuer Autoren, die wertvolle Inhalte beitragen.

    Die @Apply -Funktion von Rückenwind ist besser als es klingtDie @Apply -Funktion von Rückenwind ist besser als es klingtApr 23, 2025 am 09:23 AM

    Meistens präsentieren die Leute die @Apply-Funktion mit einer der einzelnen Properschafts-Dienstprogramme von Rückenwind (die eine einzelne CSS-Deklaration ändert). Wenn @Apply auf diese Weise präsentiert wird, klingt er überhaupt nicht vielversprechend. Also obvio

    See all articles

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    Video Face Swap

    Video Face Swap

    Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

    Heiße Werkzeuge

    VSCode Windows 64-Bit-Download

    VSCode Windows 64-Bit-Download

    Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

    SublimeText3 Linux neue Version

    SublimeText3 Linux neue Version

    SublimeText3 Linux neueste Version

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    mPDF

    mPDF

    mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),