Detaillierte Erklärung zur Lösung des Problems „Position: Fester fester Positionierungsversatz“

Detaillierte Erklärung zur Lösung des Problems „Position: Fester fester Positionierungsversatz“

Frage

Die feste CSS-Positionierung position:fixed ist sehr einfach zu verwenden. Sie wird relativ zum Ansichtsfenster des Browsers positioniert. top:0;left:0 bedeutet in der oberen linken Ecke.

<Text>
  <div Klasse="Container">
  </div>    
</body>    
<Stil>
  .Container{
    Breite: 100px;
    Höhe: 100px;
    Hintergrund: #888;
    Position: fest;
    oben: 100px;
    links: 100px;
  }
</Stil>

Wenn das übergeordnete Element transformiert

<Text>
    <div Klasse="BFC-Box">
      <div Klasse="Container"></div>
    </div>
</body>
<Stil>
  .BFC-Box{
    Rand: 200px;
    Höhe: 200px;
    Breite: 200px;
    Rand: 2px durchgehend rot;
    transformieren: Skalierung(1);
  }
  .Container{
    Breite: 100px;
    Höhe: 100px;
    Hintergrund: #888;
    Position: fest;
    oben: 100px;
    links: 100px;
  }
</Stil>

Das feste Element wird jetzt relativ zu seinem übergeordneten Element positioniert.

Das ist wirklich ärgerlich, weil transform den Status eines Elements erhöht, wie in der W3C-Spezifikation beschrieben:

Bei Elementen, deren Layout durch das CSS-Boxmodell bestimmt wird, führt jeder andere Wert als „kein“ für die Transformation dazu, dass das Element zu einem umschließenden Block wird und das Objekt als umschließender Block für fest positionierte Nachkommen fungiert.

Bei Elementen, deren Transformation nicht „keine“ ist, wird die Positionierung beeinflusst.

Lösung

Ohne das Layout zu beeinflussen, können Sie das zu positionierende Element direkt unter den Body verschieben:

<Text>
  <div Klasse="BFC-Box"></div>
  <div Klasse="Container">
  </div>    
</body>    

Wenn die Bedienung der Elemente in der Komponente unpraktisch ist, können Sie js verwenden und vue als Beispiel nehmen:

<div ref="Container" Klasse="Container"></div>
montiert(){
  Dokument.Body.Anhängen(this.$refs['Container'])
}

Dies ist das Ende dieses Artikels zur Lösung des Problems „Position: Fester fester Positionierungsversatz“. Weitere relevante Inhalte zu „Position: Fester fester Positionierungsversatz“ finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

<<:  Zusammenfassung und Praxis des Javascript-Prototyp-Kettendiagramms

>>:  Zusammenfassung der wichtigsten Docker-Befehle für Entwickler

Artikel empfehlen

So stellen Sie ein Angular-Projekt mit Docker bereit

Es gibt zwei Möglichkeiten, Angular-Projekte mit ...

Verwendung des if-Urteils in HTML

Während der Django-Webentwicklung wird beim Schre...

So erstellen Sie einen pptpd-Dienst in Alibaba Cloud Ubuntu 16.04

1. Um ein PPTP-VPN aufzubauen, müssen Sie Port 17...

Verwendung des Linux-Befehls sed

1. Funktionseinführung sed (Stream EDitor) ist ei...

Wird der Index durch MySQL ungültig?

Wird MySQLs IN den Index ungültig machen? Gewohnh...

Tutorial zur Installation des AutoFs-Mount-Dienstes unter Linux

Unabhängig davon, ob es sich um einen Samba-Diens...

So implementieren Sie das Abfangen von URIs im Nginx-Standort

veranschaulichen: Stamm und Alias ​​im Standort D...

jQuery realisiert Bildhervorhebung

Es ist sehr üblich, Bilder auf einer Seite hervor...

js zur Realisierung eines einfachen Werbefensters

In diesem Artikel wird der spezifische Code von j...

Beispielanalyse der von MySQL 5.7 generierten Spaltennutzung

Dieser Artikel veranschaulicht anhand von Beispie...

Das WeChat-Applet implementiert einen einfachen Chatroom

In diesem Artikel wird der spezifische Code des W...