DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!
Markieren Sie diesen Satz mit Ihrem Cursor. Beachten Sie, wie beim Markieren des Textes eine Hintergrundfarbe den Bereich füllt? Sie können die Hintergrundfarbe und die Farbe des ausgewählten Textes ändern, indem Sie ::selection stylen. Das Stylen dieses Pseudo-Elements eignet sich hervorragend, um den vom Benutzer ausgewählten Text an das Farbschema Ihrer Website anzupassen.
p::selection {
background: #fff;
color: #ff0000;
}

Beachten Sie, dass beim Syntax für dieses Pseudo-Element der Doppelpunkt notwendig ist, obwohl andere Pseudo-Elemente einen einzelnen Doppelpunkt akzeptieren.
Wie oben gezeigt, können Sie ::selection für einzelne Elemente stylen. Sie können auch die gesamte Seite stylen, indem Sie das bloße Pseudo-Element in Ihre Stylesheets einfügen.
::selection { background: yellow; }
Es gibt nur drei Eigenschaften, mit denen ::selection funktioniert
colorbackground(insbesondere die Langhand-Eigenschaftenbackground-color,background-image)text-shadow
Wenn Sie versuchen, ::selection mit einer Eigenschaft zu stylen, die nicht auf der Liste steht, wird diese Eigenschaft ignoriert. Es kann schwierig sein, background auf dieser Liste zu sehen, da die Eigenschaft nur eine Farbe rendert, wenn sie mit ::selection verwendet wird, und sie kein Hintergrundbild oder -verlauf rendert.
Versuchen Sie auch nicht das
p::-moz-selection,
p::selection { color: red; }
Wenn Browser einen Teil einer Auswahl finden, den sie nicht verstehen, verwerfen sie das Ganze, sodass dies jedes Mal fehlschlägt.
Eine der nützlichsten Anwendungen für ::selection ist das Deaktivieren eines text-shadow während der Auswahl. Ein text-shadow kann mit der Hintergrundfarbe der Auswahl kollidieren und den Text schwer lesbar machen. Setzen Sie text-shadow: none;, um den Text bei der Auswahl klar und gut lesbar zu machen.
Fancy ::selection
In Verbindung mit Sass oder einem anderen Präprozessor können Sie mit ::selection wirklich coole Effekte erzielen. Wählen Sie den Text in der folgenden Demo aus
Sie bemerken vielleicht, dass der Effekt in einigen Browsern nicht so reibungslos ist. Betrachten wir diese Demo unter: Dinge, die möglich sind, aber wahrscheinlich nur zum Spaß.
Ein weiterer alberner, aber unterhaltsamer kleiner Trick ist das Hervorheben eines Hintergrundbildes durch ausgewählten Text.
Browser-Unterstützung
Diese Browser-Supportdaten stammen von Caniuse, wo es weitere Details gibt. Eine Zahl zeigt an, dass der Browser die Funktion ab dieser Version unterstützt.
Desktop
| Chrome | Firefox | IE | Edge | Safari |
|---|---|---|---|---|
| 4 | 2* | 9 | 12 | 3.1 |
Mobil / Tablet
| Android Chrome | Android Firefox | Android | iOS Safari |
|---|---|---|---|
| 127 | 127 | 4.4 | Nein |
guter Artikel hier, schau auf meinem Blog vorbei http://codeforwin.blogspot.in/
Gut zu verwenden
Hallo.
Ich habe Probleme mit Ankern. Ich möchte, dass alle meine ausgewählten Bereiche rot sind, also füge ich ein einfaches
::selection{ background-color: red }hinzu und alles funktioniert, aber wenn ich Links zu meinem Dokument hinzufüge, gibt es immer eine Linie unter dem Tag, die immer noch die Standardfarbe hat.Ich sehe keinen Grund, hier Code zu posten, da es überall passiert. Danke.
Hallo,
Ich weiß, dass es heißt, dass dies unter iOS nicht funktioniert, aber gibt es eine Möglichkeit, eine Lösung für iOS zu finden? Ich habe es für alle anderen Browser zum Laufen gebracht, aber wir brauchen das auch für iOS.
Mit freundlichen Grüßen,
Kay
Entschuldigung. Es gibt keine Möglichkeit.
Hallo, ich habe ein Problem mit dieser Seite in Mozilla Firefox Developer Edition 39.0a2 (22.04.2015), wenn ich zum Header scrolle, erscheint ein div mit absoluter Position und schwarzem Hintergrund oben, und ich kann keine anderen Elemente der Seite sehen.
Aber wenn ich zum Div „Was ist Ihre Meinung zum vollständigen Verwalten von Stilen in JavaScript?“ scrolle, verschwindet es!
::selection ist jetzt Teil des CSS Pseudo-Elements Level 4 Working Draft. Es funktioniert also wahrscheinlich an den meisten Orten.
https://developer.mozilla.org/en-US/docs/Web/CSS/::selection#Summary
Ich bin mir nicht sicher, ob dies jemals benötigt wird, aber es ist ziemlich cool.
background: linear-gradient(to right, #EB3349 0%, #F45C43 50%);
funktioniert nicht für ::selection. Gibt es eine Möglichkeit, das zu tun?
Webkit-spezifische Frage.
Haben Sie bemerkt, dass
::selection{ background-color: white }keinen perfekt weißen Hintergrund erzeugt? Stattdessen wird ein grauer Hintergrund (#989898) angezeigt.Es scheint, dass die perfekte weiße Farbe (#fff) verboten ist. Meine Vermutung ist, dass dies dazu dient, sicherzustellen, dass die Auswahl gut genug sichtbar ist: Da die meisten Seiten einen weißen Hintergrund haben, würde eine Auswahlhintergrundfarbe, die auf die gleiche Farbe gesetzt ist, überhaupt keinen Kontrast bieten.
Ich habe dies auf Stack Overflow gefragt und es hat bisher wenig Interesse geweckt http://stackoverflow.com/questions/32820767/css-text-selection-styling-can-not-make-background-white
Haben Sie eine Idee? Erleben Sie dasselbe in Webkit-Browsern?
Das ist eine Sache von Chrome und Safari. Machen Sie die Farbe leicht transparent, wie hier
rgba(255,255,255,0.99)und es erscheint (fast) weiß. Und es funktioniert mit jeder Farbe, nicht nur mit Weiß ;-)Hat jemand vielleicht eine Idee, wie man
::selection-Attribute auf die Standardwerte des Browsers zurücksetzen kann? Ich habe ein Problem, wenn vuematerial verwendet wird, das einige benutzerdefinierte Farben festlegt.Ich habe viele Artikel hier auf dieser Seite gelesen, aber die meisten enthielten wenig Informationen über das eigentliche Problem oder waren sehr schlecht geschrieben oder manchmal nutzlos. Aber dieser Artikel ist sehr gut. Er gefällt mir sehr gut. Er ist sehr gut geschrieben und dargestellt. Ich habe das Gefühl, viel gelernt zu haben und noch mehr lernen zu können.