Tauchen Sie in die faszinierende Welt der CSS -Ankerpositionierung! In diesem Tutorial wird diese innovative CSS-Funktion unter Verwendung von Juan Diego Rodriguez 'umfassender "Ankerpositionierungshandbuch" (verfügbar auf CSS-Tricks) als unsere Referenz untersucht.
Dies ist eine aufregende Entwicklung. Viele werden sich an die Auswirkungen des "Flexbox-Layout-Handbuchs" und des "Grid-Layout-Handbuchs" erinnern-unschätzbare Ressourcen, die ich immer noch regelmäßig benutze! Ich jongliere oft mehrere Registerkarten, um die korrekte Syntax in meinen Codepen -Experimenten zu gewährleisten.
Seit Juans Leitfaden habe ich mit CSS -Ankerpositionierung experimentiert, und ich bin bestrebt, meine Ergebnisse zu teilen, mehr zu erfahren, weiter zu experimentieren und natürlich Dinge zu bauen!
Einführung der CSS -Ankerpositionierung
Ankerpositionierung ermöglicht es uns, ein Element mit einem oder mehreren anderen zu verbinden - oder "Anker" zu verbinden. Entscheidend ist, dass , wie ein "Ziel" Element (das an einen Anker angehängte Element) relativ zum Anker positioniert ist, einschließlich Fallback-Positionierung über das @position-try
AT-RULE.
Einfach ausgedrückt, die Ankerpositionierung verbessert die position: absolute;
erheblich und hilft absolut positionierte Elemente vorhersehbar. Wir werden dies ausführlich untersuchen.
Derzeit ist eine W3C -Entwurfsspezifikation, die Ankerpositionierung ist relativ neu. Es ist in der Basislinie als "begrenzte Verfügbarkeit" ausgezeichnet, was bedeutet, dass es hauptsächlich von Browsern auf Chrombasis unterstützt wird (Version 125). ODDBird bietet jedoch eine hilfreiche Polyfill für eine breitere Browserkompatibilität.
Desktop -Browser -Support
Mobile/Tablet Browser Support
Oddbird erstellt Polyfills für viele neue CSS -Funktionen. Unterstützen Sie ihre Arbeit an Github oder Open Collective!
tab Atkins-Bittner, ein Mitwirkender der W3C-Spezifikation, präsentierte die Ankerpositionierung am CSS-Tag 2024 (Video auf YouTube verfügbar). Juan demonstrierte seine Verwendung mit viewgetriebenen Animationen für einen schwimmenden Noteneffekt auf CSS-Tricks. Kevin Powell präsentierte kürzlich "CSS Popover Anchor Positioning" in einem Video, und Thomas Park erstellte Anchoreum (ein Spiel im Froggy-Stil im Flexbox-Stil), um die Ankerpositionierung zu unterrichten.
Die Zuordnung
Jetzt, da wir die CSS -Ankerpositionierung verstehen, lassen Sie uns seine Funktionalität untersuchen. Die Tethering -Elemente bieten ein immenses Potenzial und lösen viele Probleme, die zuvor mit komplexer absoluter Positionierung und z-index
Anpassungen angegangen wurden.
untersuchen wir die grundlegende Syntax. Wir brauchen zwei Elemente: ein Ankerpositionierelement und sein gebundenes Ziel.
<div> Anchor </div> <div> Target </div>
Wir bezeichnen ein ankerpositioniertes Element mit anchor-name
, einem eindeutigen Namen (vorangestellt mit doppelten Strichen wie CSS-benutzerdefinierten Eigenschaften).
https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15banchor { anchor-name: --anchor; }
Das Zielelement erfordert position: absolute;
und position-anchor
(entspricht dem Anker anchor-name
).
https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15banchor { anchor-name: --anchor; } https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15btarget { position: absolute; position-anchor: --anchor; }
Diese Elemente sind jetzt verknüpft. position-area
erstellt ein unsichtbares 3x3 -Gitter über dem Ankerelement, das eine präzise Zielplatzierung ermöglicht.
https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15btarget { position: absolute; position-anchor: --anchor; position-area: top center; }
Das Ziel ist jetzt in der oberen Zentren des Ankerelements verankert!
Pseudo-Elemente verankern
Pseudo-Elemente können wie normale Elemente verankert werden:
https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15banchor { anchor-name: --anchor; &::before { content: "Target"; position: absolute; position-anchor: --anchor; left: anchor(center); bottom: anchor(center); } }
Dies ist nützlich, um visuelle Verbesserungen oder Indikatoren hinzuzufügen.
Verankerungsanker
Anker können mit anchor()
Funktionen anstelle von position-area
.
https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15btarget { position: absolute; position-anchor: --anchor-one; top: anchor(bottom); left: anchor(left); }
Funktionen verwenden die berechneten Werte des Ankerelements. Hier entspricht die anchor()
des Ziels mit der top
des Ankers. Übergreifende Veränderungen bottom
und glatte Übergänge sind möglich. position-anchor
Das Chrome-Team veröffentlichte neue Pseudo-Selektoren für
und <details></details>
Elemente (<summary></summary>
). Diese können auch verankert werden. Dies ist experimentell, zeigt aber das Potenzial. :details-content
Erforschen wir die praktische Verwendung der CSS-Ankerpositionierung (derzeit nur Chrom).
Tooltips
Tooltips sind eine natürliche Passform. Wenn Sie über ein Symbol schweben, wird ein nahe gelegenes Etikett angezeigt. Der Artikel von Zell LEEW über Tooltip Best Practices bietet semantische Anleitung.
<button id="inbox-tool" class="tool" aria-labelledby="inbox-label"> <svg></svg> </button> <div id="inbox-label" role="tooltip">Inbox</div>Das Tooltip ist ein Geschwister des Ankerelements (
verbindet sie). CSS behandelt die Positionierung und Sichtbarkeit. aria-labelledby
https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15binbox-tool { anchor-name: --inbox-tool; } https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15binbox-label { position: absolute; position-anchor: --inbox-tool; position-area: end center; visibility: hidden; } .tool:hover + [role="tooltip"], .tool:focus-visible + [role="tooltip"] { visibility: visible; }Ein funktionierendes CSS-verankerter Tooltip! Betrachten Sie Toggletips für Berührungsgeräte.
schwimmende Offenlegungen
Offenlegungen (wie
) profitieren von der Ankerpositionierung, insbesondere für schwimmende Elemente. Die Popover-API bietet eine nicht-modale, obere Schichtlösung mit Funktionen wie Lichtentsäulen. Zell Liew bietet weitere Informationen zu Popovers, Dialogen und Modalität.
Ein Dropdown -Menü Beispiel:
<div> Anchor </div> <div> Target </div>
cs
https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15banchor { anchor-name: --anchor; }Einkaufswagenkomponente
Kombinieren Sie frühere Techniken, können wir eine Einkaufswagenkomponente erstellen:
https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15banchor { anchor-name: --anchor; } https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15btarget { position: absolute; position-anchor: --anchor; }CSS verankert den Tooltip, den Einkaufswagen -Dialog und das Abzeichen:
https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15btarget { position: absolute; position-anchor: --anchor; position-area: top center; }Drei Elemente, die an einen einzelnen Anker verankert sind!
kombiniert Techniken
Dieser Abschnitt zeigt die kombinierte Verwendung von Tooltips, Offenlegungen und Abzeichen, wobei die Leistung der Ankerpositionierung demonstriert wird.
Endes Projekt: Onboarding -Tool
Als letztes Projekt habe ich ein CSS-Anker-Positions-Onboarding-Tool (CodePen verfügbar) erstellt. Dies vermeidet die Komplexität meines früheren JavaScript-basierten Versuchs ("HandholdJs").
Ein benutzerdefiniertes Element
verwendet <hand-hold></hand-hold>
Attribute, um Tourschritte zu definieren. JavaScript aktualisiert die Ankerpositionen dynamisch und ein Ansichtsübergang sorgt für reibungslose Übergänge. Dieses Projekt ist experimentell und nicht produktionsbereit, da ein begrenzter Browserunterstützung ist. data-tour-stop
CSS -Ankerpositionierung kann die CSS -Entwicklung revolutionieren, ähnlich wie Flexbox und Grid. Die Anwendungen sind groß und ich freue mich, zukünftige Innovationen aus der Community zu sehen.
Das obige ist der detaillierte Inhalt vonEine dieser 'Onboarding' -Ver UIs mit Ankerpositionierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Ich habe diese Frage neulich bekommen. Mein erster Gedanke ist: seltsame Frage! Bei der Spezifität geht es um Selektoren, und Rules sind keine Selektoren, also ... irrelevant?

Ja, Sie können, und es ist nicht wirklich wichtig in welcher Reihenfolge. Ein CSS -Präprozessor ist nicht erforderlich. Es funktioniert in regulären CSS.

Sie sollten auf jeden Fall weitausgestellte Cache-Header auf Ihren Vermögenswerten wie CSS und JavaScript (und Bilder und Schriftarten und was auch immer) festlegen. Das sagt dem Browser

Viele Entwickler schreiben darüber, wie sie eine CSS -Codebasis pflegen können, aber nicht viele von ihnen schreiben darüber, wie sie die Qualität dieser Codebasis messen. Sicher, wir haben

Haben Sie jemals ein Formular gehabt, das ein kurzes, willkürliches Stück Text akzeptieren musste? Wie ein Name oder was auch immer. Das ist genau das, wofür es ist. Es gibt viele

Ich bin so aufgeregt, nach Zürich, der Schweiz, zur Frontkonferenz zu gehen (liebe diesen Namen und diese URL!). Ich war noch nie in der Schweiz, also bin ich aufgeregt

Eine meiner Lieblingsentwicklungen in der Softwareentwicklung war das Aufkommen von Serverless. Als Entwickler, der die Tendenz hat, sich in den Details festzuhalten

In diesem Beitrag werden wir eine E -Commerce -Store -Demo verwenden, die ich für Netlify erstellt und bereitgestellt habe, um zu zeigen, wie wir dynamische Routen für eingehende Daten erstellen können. Es ist fair


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor