CSS - Benutzer-Auswahl: Ein freundlicher Leitfaden für Anfänger
Hallo da draußen, zukünftige Webdesign-Zauberer! Heute machen wir uns auf eine aufregende Reise in die Welt der CSS, Specifically erkunden wir die user-select
Eigenschaft. Keine Sorge, wenn ihr neu seid; ich werde dein freundlicher Guide sein, der alles Schritt für Schritt erklärt. Also hol dir eine Tasse Kaffee (oder Tee, wenn das dein Ding ist) und tauchen wir ein!
Was ist die user-select Eigenschaft?
Bevor wir ins Detail gehen, lassen Sie uns verstehen, was user-select
überhaupt ist. Stell dir vor, du liest eine Webseite und versuchst, einen Text auszuwählen, um ihn zu kopieren, aber du kannst es nicht. Das ist die user-select
Eigenschaft in Aktion! Sie kontrolliert, ob der Benutzer Text auf einer Webseite auswählen kann.
Nun, du könntest denken: "Warum wollten wir verhindern, dass Benutzer Text auswählen?" Nun, es gibt mehrere Gründe:
- Zum Schutz von urheberrechtlich geschütztem Inhalt
- Zur Verbesserung der Benutzererfahrung in bestimmten interaktiven Elementen
- Zur Verhinderung einer versehentlichen Textauswahl, wenn Benutzer mit Schaltflächen oder ziehbaren Elementen interagieren
Syntax und mögliche Werte
Schauen wir uns an, wie wir die user-select
Eigenschaft in unserem CSS schreiben:
auswahl {
user-select: wert;
}
Hier ist eine Tabelle aller möglichen Werte für user-select
:
Wert | Beschreibung |
---|---|
none | Verhindert die Textauswahl |
auto | Standard. Ermöglicht die Textauswahl basierend auf den Browserregeln |
text | Ermöglicht die Textauswahl |
all | Ermöglicht die Auswahl aller Inhalte, einschließlich Behälter |
contain | Ermöglicht die Auswahl innerhalb eines Elements, aber nicht seine Eltern |
Nun, lassen Sie uns jeden dieser Werte im Detail erkunden!
CSS user-select - none Wert
Der none
Wert ist wie ein unsichtbarer Schild um deinen Text. Benutzer können ihn sehen, aber nicht auswählen. Hier ist ein Beispiel:
.no-select {
user-select: none;
}
<p class="no-select">Dieser Text kann nicht ausgewählt werden!</p>
<p>But you can select this one.</p>
In diesem Beispiel können Benutzer den ersten Absatz nicht hervorheben, aber sie können den zweiten auswählen. Ist das nicht wie Magie?
CSS user-select - auto Wert
Der auto
Wert ist die Standardeinstellung. Er lässt den Browser entscheiden, wann Text auswählbar sein sollte. Es ist wie das Überlassen der DJ-Kontrollen bei einer Party – der Browser weiß, wann die richtigen Töne gespielt werden sollen!
.auto-select {
user-select: auto;
}
<p class="auto-select">Dieser Text folgt den Auswahlenregeln des Browsers.</p>
CSS user-select - text Wert
Der text
Wert ist einfach – er ermöglicht die Textauswahl. Es ist nützlich, wenn du die Auswahl eines übergeordneten Elements, das möglicherweise user-select: none
hat, überschreiben möchtest.
.eltern {
user-select: none;
}
.kind {
user-select: text;
}
<div class="eltern">
<p>Dieser Text kann nicht ausgewählt werden.</p>
<p class="kind">Aber diesen kannst du auswählen!</p>
</div>
In diesem Beispiel ist der Text im zweiten Absatz auswählbar, obwohl sein übergeordneter Div nicht ist.
CSS user-select - all Wert
Der all
Wert ist wie ein "alles auswählen" Knopf für deinen Inhalt. Er ermöglicht es den Benutzern, nicht nur den Text, sondern auch die Behälterelemente auszuwählen.
.select-all {
user-select: all;
}
<div class="select-all">
<p>Wenn du diesen Text auswählst,</p>
<p>wird auch der gesamte Div ausgewählt!</p>
</div>
Versuche, den Text in diesem Beispiel auszuwählen, und du wirst bemerken, dass der gesamte Div ausgewählt wird!
CSS user-select - contain Wert
Der contain
Wert ist etwas kniffliger. Er ermöglicht die Auswahl innerhalb eines Elements, verhindert jedoch, dass die Auswahl auf übergeordnete Elemente ausgedehnt wird.
.outer {
user-select: none;
}
.inner {
user-select: contain;
}
<div class="outer">
Dieser Text kann nicht ausgewählt werden.
<div class="inner">
Aber dieser Text kann ausgewählt werden, und die Auswahl wird nicht auf den äußeren Div ausgedehnt.
</div>
</div>
Dies ist nützlich, wenn du die Auswahl in bestimmten Bereichen ermöglichen möchtest, ohne den Rest deines Layouts zu beeinflussen.
Browser-Kompatibilität und Prefixe
Nun, hier ist ein Profi-Tipp von deinem freundlichen CSS-Lehrer: Browser-Kompatibilität! Nicht alle Browser unterstützen user-select
auf die gleiche Weise. Um maximale Kompatibilität zu gewährleisten, musst du möglicherweise Browser-Prefixe verwenden:
.no-select {
-webkit-user-select: none; /* Safari */
-ms-user-select: none; /* IE 10 und IE 11 */
user-select: none; /* Standardsyntax */
}
Praktische Anwendungen
Lassen Sie uns mit einigen realen Szenarien abschließen, in denen user-select
sehr nützlich sein kann:
-
Schaltflächen und interaktive Elemente: Verwende
user-select: none
, um versehentliche Textauswahlen zu verhindern, wenn Benutzer auf Schaltflächen klicken. -
Urheberrechtsnachweise: Schütze deinen urheberrechtlich geschützten Text mit
user-select: none
. -
Code-Snippets: Verwende
user-select: all
für Code-Blöcke, um es Benutzern zu erleichtern, ganze Code-Snippets zu kopieren. -
Formulare: Wende
user-select: none
auf Beschriftungen in Formularen an, um die Benutzererfahrung zu verbessern, wenn Checkboxen oder Optionsfelder angeklickt werden.
Denke daran, mit großer Macht kommt große Verantwortung. Während user-select
die Benutzererfahrung verbessern kann, könnte eine übermäßige Verwendung die Benutzer frustrieren, die Inhalte kopieren möchten. Berücksichtige immer die Zugänglichkeit und die Bedürfnisse der Benutzer, wenn du diese Eigenschaft anwendest.
Und da hast du es, Leute! Du hast gerade deine CSS-Fähigkeiten mit der user-select
Eigenschaft aufgestockt. Halte weiter an der Übung fest, experimentiere und vor allem: Habe Spaß an CSS. Bereit zum Coden!
Credits: Image by storyset