Eine dieser 'Onboarding' -Ver UIs mit Ankerpositionierung
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>
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; }
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; }
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; }
https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15btarget { position: absolute; position-anchor: --anchor; position-area: top center; }
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!

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

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

Heißer Artikel

Heiße Werkzeuge

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

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Es ist aus! Herzlichen Glückwunsch an das Vue -Team, dass es eine massive Anstrengung war und lange kommt. Alle neuen Dokumente auch.

Ich ließ jemanden mit dieser sehr legitimen Frage einschreiben. Lea hat gerade darüber gebloggt, wie Sie gültige CSS -Eigenschaften selbst aus dem Browser erhalten können. Das ist so.

Ich sage "Website" passt besser als "Mobile App", aber ich mag dieses Rahmen von Max Lynch:

Neulich habe ich dieses besonders schöne Stück von der Website von Corey Ginnivan entdeckt, auf der eine Sammlung von Karten aufeinander stapelt.

Wenn wir dem Benutzer direkt im WordPress -Editor Dokumentation anzeigen müssen, wie können Sie dies am besten tun?

Es gibt eine Reihe dieser Desktop -Apps, in denen das Ziel Ihre Website gleichzeitig in verschiedenen Dimensionen angezeigt wird. So können Sie zum Beispiel schreiben

CSS Grid ist eine Sammlung von Eigenschaften, die das Layout einfacher machen als jemals zuvor. Wie alles andere ist es eine kleine Lernkurve, aber das Gitter ist

Ich sehe, dass Google -Schriftarten ein neues Design (Tweet) ausgelöst haben. Im Vergleich zur letzten großen Neugestaltung fühlt sich dies viel iterativer an. Ich kann den Unterschied kaum erkennen
