::search-text
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 Stile auf Suchergebnisse an, die durch die Textsuchfunktion "Finden" oder "Auf der Seite suchen" des User-Agents 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 eine Art der Textsuche innerhalb der Seite, die normalerweise als "Finden" oder "Auf der Seite suchen" bezeichnet wird. Das ::search-text Pseudo-Element, eines der Highlight-Pseudo-Elemente, ermöglicht es Ihnen, eine eingeschränkte Menge von Stilen auf die Text-Ergebnisse anzuwenden, die durch die Browser-Suchfunktion hervorgehoben werden.
Nicht alle Browser und Browserversionen heben Suchergebnisse mit auf der Seite stilisierbaren Highlights hervor. In solchen Fällen könnte ::search-text nicht implementiert oder einfach ignoriert sein.
Die Verwendung von ::search-text als alleiniger Selektor wird alle Browser-Suchergebnisse überall auf einer Seite stilisieren. Wenn Sie nur die Browser-Suchergebnisse innerhalb bestimmter Elemente stilisieren 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 aktuell fokussierte Suchergebnis bereitzustellen, zum Beispiel:
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, wobei Stile sowohl von ihren Elternelementen als auch von den Pseudo-Elementen ihrer Eltern geerbt werden. Für mehr Details zur Funktionsweise dieser Vererbung siehe den Abschnitt Highlight-Pseudo-Elemente-Vererbung.
Erlaubte Eigenschaften
Eine eingeschränkte Teilmenge von CSS-Eigenschaften kann mit ::search-text verwendet werden:
colorbackground-color- Die
text-decorationKurzschreibweise und die zugehörigen Langschreibweisen:text-decoration-line: nur die Wertegrammar-error,spelling-error,line-through,noneundunderline.text-decoration-colortext-decoration-styletext-decoration-thicknesstext-decoration-skip-ink
text-underline-offsettext-shadow
Barrierefreiheit
Überschreiben Sie die Stile von Textsuchergebnissen sparsam, insbesondere wenn dies aus rein ästhetischen Gründen geschieht. Für Menschen mit kognitiven Einschränkungen oder diejenigen, die technisch weniger versiert sind, können 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-Stilgestaltung. Beim Anpassen von hervorgehobenem Text ist es wichtig, sicherzustellen, dass das Kontrastverhältnis zwischen Vorder- und Hintergrundfarben groß genug ist, damit Menschen den Inhalt des hervorgehobenen Textes wahrnehmen können.
Beispiele
>Benutzerdefinierte Stile für Textsuchergebnisse
Dieses Beispiel zeigt, wie man ::search-text und :current verwendet, um benutzerdefinierte Stile für die Suchergebnisse "Auf der Seite suchen" Ihres Browsers zu erstellen.
HTML
Das HTML besteht aus einem einfachen Absatz mit Text. Wir zeigen den HTML-Quellcode nicht, sowohl der Kürze halber als auch um es einfacher zu machen, 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 aktuell fokussierte Suchergebnis über ::search-text:current und geben ihm eine andere background-color und einige text-decoration Stile, damit es von den restlichen Ergebnissen unterscheidbar ist.
::search-text:current {
background-color: crimson;
text-decoration-line: underline;
text-decoration-color: yellow;
text-decoration-thickness: 3px;
}
Ergebnis
Das Beispiel wird wie folgt dargestellt:
Versuchen Sie, die Suchfunktion Ihres Browsers auf der Seite zu verwenden, um ein Wort zu finden, das mehrmals im Beispieltext vorkommt, z.B. "aliquam", "amet" oder "tortor". Wechseln Sie zwischen den vorherigen und nächsten Ergebnissen, um das :current Styling zu überprüfen.
Spezifikationen
| Specification |
|---|
| CSS Pseudo-Elements Module Level 4> # selectordef-search-text> |