::search-text CSS pseudo-element
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Das ::search-text CSS Pseudo-Element wendet Stilvorlagen auf Suchergebnisse an, die durch die Textsuchfunktion "Suchen" oder "Auf der Seite suchen" des Benutzeragenten identifiziert werden.
Probieren Sie es aus
p::search-text {
color: crimson;
background-color: wheat;
}
<p>
Using your browser's "Find in page" functionality, find a word or phrase that
appears in this sentence, and note how, in supporting browsers, each result is
highlighted using the specified custom styles.
</p>
Syntax
::search-text {
/* ... */
}
Beschreibung
Die meisten Browser beinhalten irgendeine Art von Textsuchfunktion auf der Seite, üblicherweise bezeichnet als "Suchen" oder "Auf der Seite suchen". Das ::search-text-Pseudo-Element, eines der Highlight-Pseudo-Elemente, erlaubt es Ihnen, einen begrenzten Satz von Stilen auf die Text-Ergebnisse anzuwenden, die durch die Browsersuchfunktion hervorgehoben werden.
Nicht alle Browser und Browserversionen heben Suchergebnisse durch hervorhebende Stile auf der Seite hervor, die durch CSS stilisiert werden können. In solchen Fällen könnte ::search-text nicht implementiert oder einfach ignoriert werden.
Die Verwendung von ::search-text allein als Selektor wird Browsersuchergebnisse überall auf einer Seite stylen. Wenn Sie nur Browsersuchergebnisse innerhalb bestimmter Elemente stylen möchten, können Sie ::search-text mit anderen Selektoren kombinieren, zum Beispiel section::search-text.
Zusätzlich kann ::search-text mit der :current Pseudo-Klasse kombiniert werden, um spezielle Stile für das derzeit fokussierte Suchergebnis bereitzustellen, beispielsweise:
p::search-text {
color: white;
background-color: purple;
}
p::search-text:current {
background-color: crimson;
}
Vererbungsmodell
Das ::search-text-Pseudo-Element folgt einem speziellen Vererbungsmodell, das allen Highlight-Pseudo-Elementen gemeinsam ist, bei dem Stile sowohl von ihren Eltern-Elementen als auch den Pseudo-Elementen ihrer Eltern geerbt werden. Für weitere Details zur Funktionsweise dieser Vererbung siehe den Abschnitt Highlight-Pseudo-Elemente Vererbung.
Erlaubte Eigenschaften
Ein begrenzter Satz von CSS-Eigenschaften kann mit ::search-text verwendet werden:
colorbackground-color- Die
text-decorationKurzschreibweise und verwandte langschreibige Eigenschaften:text-decoration-line: nur die Wertegrammar-error,spelling-error,line-through,none, undunderline.text-decoration-colortext-decoration-styletext-decoration-thicknesstext-decoration-skip-ink
text-underline-offsettext-shadow
Barrierefreiheit
Überschreiben Sie die Stilvorlagen von Textsuchergebnissen nur sparsam, insbesondere wenn dies aus rein ästhetischen Gründen geschieht. Für Personen mit kognitiven Einschränkungen oder geringerer Technologiekompetenz könnten unerwartete Änderungen dieser Stile das Verständnis der Funktionalität beeinträchtigen.
Ein primärer Anwendungsfall von ::search-text ist die Erhöhung des Farbkontrasts im Vergleich zur Standard-Browser-Stilierung. Wenn Sie hervorgehobenen Text anpassen, ist es wichtig sicherzustellen, dass das Kontrastverhältnis zwischen den Vorder- und Hintergrundfarben groß genug ist, damit die Inhalte des hervorgehobenen Textes wahrgenommen werden können.
Beispiele
>Benutzerdefinierte Stile für Textsuchergebnisse
Dieses Beispiel zeigt, wie ::search-text und :current verwendet werden, um benutzerdefinierte Stile für Ihre Browserfunktion "Auf der Seite suchen" zu erstellen.
HTML
Das HTML besteht aus einem einfachen Absatz von Text. Wir zeigen den HTML-Quelltext nicht, sowohl aus Gründen der Kürze, als auch damit es einfacher ist, die Suchergebnisse im gerenderten Beispiel zu navigieren.
CSS
In unserem CSS beginnen wir damit, das ::search-text-Pseudo-Element zu stylen. Wir geben ihm benutzerdefinierte background-color, color und text-shadow Stile.
::search-text {
background-color: purple;
color: white;
text-shadow: 1px 1px 1px black;
}
Schließlich stylen wir das derzeit fokussierte Suchergebnis über ::search-text:current, indem wir ihm eine andere background-color und einige text-decoration Stile geben, sodass es sich von den anderen Ergebnissen unterscheidet.
::search-text:current {
background-color: crimson;
text-decoration-line: underline;
text-decoration-color: yellow;
text-decoration-thickness: 3px;
}
Ergebnis
Das Beispiel wird wie folgt gerendert:
Versuchen Sie, die "Auf der Seite suchen"-Schnittstelle des Browsers zu verwenden, um ein Wort zu finden, das mehrmals im Beispieltext vorkommt, wie "aliquam", "amet" oder "tortor". Bewegen Sie sich zwischen den vorherigen und nächsten Ergebnissen, um das :current-Styling zu überprüfen.
Spezifikationen
| Spezifikation |
|---|
| CSS Pseudo-Elements Module Level 4> # selectordef-search-text> |