Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Warum verschwindet mein Anker mit fester Position in Chrome und Opera, wenn ich auf UL-Links klicke?

Patricia Arquette
Freigeben: 2024-10-26 20:19:02
Original
521 Leute haben es durchsucht

Why Does My Fixed Position Anchor Disappear in Chrome and Opera When Clicking UL Links?

Rendering-Problem bei Chrome und Opera: Fixierter Positionsanker mit UL im Textkörper

In bestimmten Browsern wie Chrome und Opera kann beim Versuch der Positionierung ein besonderes Rendering-Problem auftreten ein festes Element neben einem UL-Tag. Dieses Problem äußert sich dadurch, dass das feste Element beim Klicken auf Ankerlinks vorübergehend verschwindet.

Ursache

Die zugrunde liegende Ursache dieses Problems ist auf die Art und Weise zurückzuführen, wie diese Browser Repaints verarbeiten, wenn Elemente auf der Seite aktualisiert werden . Insbesondere kann das feste Element während des Neulackierungsprozesses vorübergehend seine Positionierung verlieren.

Chrome-Lösung

Um dieses Problem in Chrome zu beheben, können Sie eine TranslateZ(0)-Transformation auf das problematische feste Element anwenden . Diese Aktion löst effektiv eine 3D-Transformation aus, isoliert den Repaint-Prozess vom Rest des CSS-Stacks und entschärft so das Positionierungsproblem.

#sidebar {
    -webkit-transform: translateZ(0);
}
Nach dem Login kopieren

Opera-Lösung

Für Opera ein etwas anderer Ansatz ist erforderlich. In diesem Fall können Sie eine CSS-Animation erstellen, die eine Eigenschaft kontinuierlich neu zeichnet, die sich auf das Layout, aber nicht auf das visuelle Erscheinungsbild des Elements auswirkt, z. B. margin-bottom. Dieser Ansatz verleitet Opera dazu, kontinuierliche Neulackierungen durchzuführen und sicherzustellen, dass das feste Element seine Positionierung beibehält.

@keyframes noop {
  0%   { margin-bottom: 0; }
  100% { margin-bottom: 1em; }
}

#sidebar {
    animation: noop 1s infinite;
}
Nach dem Login kopieren

Hinweis

Es ist wichtig zu beachten, dass diese Lösung möglicherweise nicht narrensicher ist und zu einer leichten Verletzung führen kann flackern, während Opera versucht, die feste Positionierung wiederherzustellen. Diese Einschränkung liegt in der Art und Weise, wie Opera mit Neuzeichnungsprozessen umgeht, und macht es schwierig, das visuelle Artefakt vollständig zu beseitigen.

Das obige ist der detaillierte Inhalt vonWarum verschwindet mein Anker mit fester Position in Chrome und Opera, wenn ich auf UL-Links klicke?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!