Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
::picker()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell:Dies ist eineexperimentelle Technologie
Überprüfen Sie dieBrowser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Das::picker()CSSPseudo-Element zielt auf den Auswahlteil eines Elements ab, zum Beispiel den Dropdown-Auswahlbereich einesanpassbaren Auswahl-Elements.
In diesem Artikel
Syntax
::picker(<ident>) { /* ... */}Parameter
Beschreibung
Das::picker() Pseudo-Element zielt auf den Auswahlteil eines Formularelements ab, also den Popup-Teil, der erscheint, um Ihnen eine Auswahl zu ermöglichen, wenn Sie die Steuertaste drücken. Er ist nur dann anvisierbar, wenn das Ursprungelement einen Auswahlbereich hat und das Grunderscheinungsbild über denbase-select Wert derappearance Eigenschaft darauf eingestellt ist.
Der::picker(select) Selektor zielt auf alle Nachkommen eines anpassbaren<select> Elements ab, mit Ausnahme des ersten<button> Kindes; diese Nachkommen werden vom Browser gruppiert und als Auswahlbereich gerendert. Das erste<button> Kind repräsentiert die Steuertaste, die den Auswahlbereich öffnet, wenn sie gedrückt wird.
Dies ermöglicht es Ihnen, alle Inhalte des Auswahlbereichs als eine einzelne Einheit anzusprechen, zum Beispiel, wenn Sie seinen Rahmen anpassen, ihn animieren, wenn er erscheint und verschwindet, oder ihn an einer anderen Stelle als der Standardposition positionieren möchten. UnserLeitfaden zu anpassbaren Auswahl-Elementen zeigt viele Beispiele zur Verwendung von::picker(select).
Verhalten des Auswahl-Popovers
Das<select> Element und der Auswahlbereich haben automatisch eine implizite Invoker/Popover-Beziehung, wie sie durch diePopover API spezifiziert wird. Weitere Details zum Popover-Verhalten finden Sie unterVerwendung der Popover API, und für einen typischen Anwendungsfall, den die implizite Popover-Zuordnung ermöglicht, sieheAnimation des Dropdown-Auswahlbereichs mittels Popover-Zuständen.
Positionierung des Auswahlankers
Ein weiterer Nebeneffekt der oben erwähnten impliziten Invoker/Popover-Beziehung ist, dass das<select> Element und der Auswahlbereich auch eine implizite Ankerreferenz haben, was bedeutet, dass der Auswahlbereich automatisch über dieCSS-Ankerpositionierung mit demselect assoziiert ist. Dies bietet mehrere Vorteile, insbesondere:
Die Standardstile des Browsers positionieren den Auswahlbereich relativ zur Taste (dem Anker) und Sie können diese Position anpassen, wie inPositionierung von Elementen relativ zu ihrem Anker erläutert. Zur Bezugnahme sind die zugehörigen Standardstile wie folgt:
cssinset: auto;margin: 0;min-inline-size: anchor-size(self-inline);min-block-size: 1lh;/* Go to the edge of the viewport, and add scrollbars if needed. */max-block-size: stretch;overflow: auto;/* Below and span-right, by default. */position-area: block-end span-inline-end;Die Standardstile des Browsers definieren auch einige Position-versuchen-Alternativen, die den Auswahlbereich neu positionieren, falls er Gefahr läuft, den Viewport zu überschreiten. Position-versuchen-Alternativen werden imLeitfaden zu Alternativen für Überlauf und bedingtes Verbergen erklärt. Zur Bezugnahme sind die zugehörigen Standard-Fallback-Stile wie folgt:
cssposition-try-order: most-block-size;position-try-fallbacks: /* First try above and span-right, */ /* then below but span-left, */ /* then above and span-left. */ block-start span-inline-end, block-end span-inline-start, block-start span-inline-start;
Hinweis:Wenn Sie die implizite Ankerreferenz entfernen möchten, um zu verhindern, dass der Auswahlbereich mit dem<select> Element verankert wird, können Sie dies tun, indem Sie dieposition-anchor Eigenschaft des Auswahlbereichs auf einen Ankernamen setzen, der im aktuellen Dokument nicht existiert, wie z.B.--not-an-anchor-name. Siehe auchEntfernen einer Ankerzuordnung.
Beispiele
>Grundlegende Verwendung von benutzerdefinierten Auswahlelementen
Um sich für die Funktionalität benutzerdefinierter Auswahl und minimale Standardstile des Browsers zu entscheiden (und das von den Betriebssystemen bereitgestellte Styling zu entfernen), müssen sowohl das<select> Element als auch sein Auswahlbereich einenappearance Wert vonbase-select aufweisen:
select,::picker(select) { appearance: base-select;}Sie könnten dann zum Beispiel die Standard-Schwarzborder des Auswahlbereichs entfernen:
::picker(select) { border: none;}Spezifikationen
| Specification |
|---|
| CSS Form Control Styling Level 1> # picker-pseudo> |