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

Erläuterung des MySQL-Abfragebeispiels anhand instanziierter Objektparameter

Dieser Artikel stellt vor, wie Sie durch Instanzi...

Grundlegende Referenztypen der erweiterten JavaScript-Programmierung

Inhaltsverzeichnis 1. Datum 2. RegExp 3. Original...

MySQL Serie 13 MySQL-Replikation

Inhaltsverzeichnis 1. Mit der MySQL-Replikation v...

So verwenden Sie nginx zum Konfigurieren des Zugriffs auf wgcloud

Die Nginx-Konfiguration ist wie folgt: Wie http:/...

HTML Einführungstutorial HTML Tag Symbole schnell beherrschen

Randbemerkung <br />Wenn Sie nichts über HTM...

So installieren Sie MySql in CentOS 8 und erlauben Remoteverbindungen

Herunterladen und installieren. Prüfen Sie zunäch...

Die Bedeutung des Statuscodes im HTTP-Protokoll

Ein Statuscode, der eine vorläufige Antwort anzei...

WeChat-Applet implementiert Taschenrechnerfunktion

WeChat-Miniprogramme erfreuen sich immer größerer...

Tipps zum Implementieren mehrerer Rahmen in CSS

1. Mehrere Grenzen[1] Hintergrund: Box-Shadow, Um...

Zusammenfassung der Ubuntu-Sicherungsmethoden (vier Typen)

Methode 1: Um Respin zu verwenden, folgen Sie die...