caret-color CSS property
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.
Die caret-color CSS Eigenschaft legt die Farbe des Einfüge-Carets fest, manchmal auch als Text-Eingabecursor bezeichnet. Dies ist der sichtbare Marker, der an der Einfügestelle erscheint, wo das nächste eingegebene Zeichen hinzugefügt oder das nächste gelöschte Zeichen entfernt wird.
Die caret-color-Eigenschaft kann auch als Teil der caret Kurzschreibweise festgelegt werden.
Probieren Sie es aus
caret-color: red;
caret-color: auto;
caret-color: transparent;
<section class="default-example container" id="default-example">
<div>
<p>Enter text in the field to see the caret:</p>
<p><input id="example-element" type="text" /></p>
</div>
</section>
#example-element {
font-size: 1.2rem;
}
Syntax
/* Keyword values */
caret-color: auto;
caret-color: transparent;
caret-color: currentColor;
/* <color> values */
caret-color: red;
caret-color: #5729e9;
caret-color: rgb(0 200 0);
caret-color: hsl(228deg 4% 24% / 80%);
/* Global values */
caret-color: inherit;
caret-color: initial;
caret-color: revert;
caret-color: revert-layer;
caret-color: unset;
Werte
Diese Eigenschaft wird als ein <color>-Wert oder das Schlüsselwort auto angegeben.
auto-
Löst sich im Allgemeinen zu
currentColorauf, also dercolordes Textes, der verändert wird. <color>-
Die Farbe des Carets.
Beschreibung
Ein Einfüge-Caret ist ein sichtbarer Indikator der Stelle im bearbeitbaren Text — oder innerhalb eines Elements, das Texteingaben akzeptiert — an der der Benutzer Inhalt einfügen (oder löschen) wird. Der Caret ist typischerweise eine dünne vertikale Linie, die anzeigt, wo das Hinzufügen oder Löschen von Zeichen erfolgen wird. Er blinkt allgemein (blitzt auf und ab), damit er besser sichtbar ist. Der Caret erscheint nur, wenn das bearbeitbare Element den Fokus hat. Standardmäßig hat dieser Caret die Farbe des Textes. Die caret-color-Eigenschaft kann verwendet werden, um die Farbe dieses Carets auf eine andere Farbe als die currentColor einzustellen oder um einen farbigen Caret auf seine Standardeinstellung zurückzusetzen.
Der auto-Wert setzt das Einfüge-Caret auf currentColor, was der color des Textes ist, der hinzugefügt oder gelöscht wird. Benutzeragenten können eine andere Farbe wählen, um eine gute Sichtbarkeit und Kontrast zum umgebenden Inhalt sicherzustellen, indem sie die color, background-color, Schatten und andere Faktoren berücksichtigen. In der Praxis verwenden jedoch alle Browser standardmäßig die aktuelle Farbe, und wenn caret-color auf auto gesetzt ist. Sie können jeden gültigen <color> als Wert festlegen.
Einfüge-Carets verstehen
Das Einfüge-Caret und damit diese Eigenschaft gilt nur für Text oder Elemente, die Texteingaben akzeptieren können. Der Caret erscheint in fokussierten Benutzerschnittstellenelementen, in denen Benutzer Inhalte aktualisieren können, wie z.B. <input>-Elemente, die Freiform-Text akzeptieren, das <textarea>-Element und Elemente mit dem contenteditable Attribut.
Das Caret kann in <input>-Elementen der Typen password, text, search, tel und email erscheinen. Es gibt kein Caret in den Eingabetypen Datum, color, hidden, radio oder checkbox. Einige Browser zeigen ein Caret mit dem Eingabetyp number an. In einigen Browsern ist es möglich, ein Caret in Elementen erscheinen zu lassen, die nie Textinhalt haben — zum Beispiel, indem man appearance: none setzt und das contenteditable-Attribut hinzufügt. Dies wird jedoch nicht empfohlen.
Ein Caret kann in einem bearbeitbaren Element oder seinen Nachkommen angezeigt werden, vorausgesetzt, die Bearbeitbarkeit ist nicht deaktiviert, zum Beispiel indem das contentEditable-Attribut eines nachrangigen Elements auf false gesetzt wird. Wenn ein Element nicht bearbeitbar oder auswählbar ist, zum Beispiel wenn user-select auf none gesetzt ist, sollte der Caret nicht erscheinen.
Caret versus Cursor
Es gibt mehrere Arten von Carets. Das Einfüge-Caret ist der einzige Typ, der von der caret-color-Eigenschaft beeinflusst wird.
Viele Browser verfügen über ein Navigations-Caret, das ähnlich wie ein Einfüge-Caret funktioniert, sich jedoch in nicht bearbeitbarem Text bewegen lässt.
Das Mauszeigerbild, das bei bestimmten cursor Eigenschaftswerten angezeigt wird (zum Beispiel auto oder text), kann einem Caret ähneln, ist aber keines. Es handelt sich um einen Cursor.
Animationen von auto
Im Allgemeinen, wenn die caret-color auf auto gesetzt ist oder standardmäßig auto ist, verwenden Benutzeragenten currentColor, das animierbar ist. Auto ist jedoch standardmäßig kein animierbarer Wert: Beim Animieren oder Überblenden der caret-color von auto auf einen beliebigen Farbwert erfolgt keine Interpolation. Die Animation ist diskret; die Farbe wechselt vom oder zum currentColor in der Mitte der animation-duration oder transition-duration.
Formale Definition
| Anfangswert | auto |
|---|---|
| Anwendbar auf | Text or elements that accept text input |
| Vererbt | Ja |
| Berechneter Wert | auto wird wie angegeben berechnet und <color> Werte werden wie für die color Eigenschaft berechnet. |
| Animationstyp | Farbe |
Formale Syntax
caret-color =
auto |
<color> [ auto | <color> ]?
Beispiele
>Einstellung einer benutzerdefinierten Caret-Farbe
HTML
<input value="This field uses a default caret." size="64" />
<input class="custom" value="I have a custom caret color!" size="64" />
<p contenteditable class="custom">
This paragraph can be edited, and its caret has a custom color as well!
</p>
CSS
input {
caret-color: auto;
display: block;
margin-bottom: 0.5em;
}
input.custom {
caret-color: orange;
}
p.custom {
caret-color: green;
}
Ergebnis
Spezifikationen
| Spezifikation |
|---|
| CSS Basic User Interface Module Level 4> # caret-color> |
Browser-Kompatibilität
Siehe auch
caret-animation,caret-shapecaretKurzschreibweisecolortext-emphasiscursortext-emphasis- CSS
<color>Datentyp <input>Element- HTML
contenteditableAttribut