Toggles
Checkboxen
Checkboxen werden verwendet, wenn der Nutzer eine beliebige Anzahl an Optionen auswählen darf.
Radio Boxen (Variante 1)
Diese Variante der Radio-Boxen wird verwendet, wenn der Nutzer nur eine Optionen auswählen darf.
Radio Boxen (Variante 2)
Radio-Boxen können auch anders aussehen. Insbesondere auf Mobilgeräten ist diese Gestaltung besser geeignet als die erste Variante.
SortierungToggle-Switch
Während Checkboxen meist zum Bestätigen und Radio-Boxen zur Auswahl verwendet werden, sind Toggle-Switches zum Aktivieren/Deaktivieren von Funktionen zu gebrauchen.
Größen + Abstände
Checkboxen
Radio-Boxen (Variante 1)
Radio-Boxen (Variante 2)
Toggle-Switch
Typischer Einsatz von Toggles
Checkboxen
Ein typischer Einsatz von Checkboxen ist die Auswahl der Kanäle, über die der Nutzer über Angebote informiert werden soll; auch für die Zustimmung der AGB/Datenschutzerklärung sind Checkboxen das Mittel der Wahl.
Radio Boxen (Variante 1)
Ein typischer Einsatz dieser Variante ist die Newsletter-Abmeldung.
Radio Boxen können aber auch zur Auswahl der Abo-Modelle auf der Paywall und im Aboshop eingesetzt werden.
Radio Boxen (Variante 2)
Ein typischer Einsatz dieser Variante ist die Filter bzw. Sortierungsfunktion auf der Ergebnisseite der internen Suche.
Toggle-Switch
Ein typischer Einsatz des Toggle-Switch ist die Aktivierung/Deaktivierung der Push Kanäle in der App.
Checkboxen
Bitte darauf achten, dass auch der Text der Checkbox klickbar ist.
<input type="checkbox" value="checkbox" id="checkbox2" name="checkbox">
<label for="checkbox2">Ja, ich stimme zu.</label>
input[type="checkbox"]{
height: 11px;
width: 11px;
margin: 7px;
position: absolute;
}
input[type="checkbox"]+label{
position:relative;
display:inline-block;
padding: 2px 0 0 35px;
cursor: pointer;
}
input[type="checkbox"]+label::before,
input[type="checkbox"]+label::after{
content:'';
display:inline;
position:absolute;
left:0;
top:2px;
height:23px;
width:23px;
border: 1px solid #DBDBDB;
border-radius: 20px;
background-color: #FFF;
}
input[type="checkbox"]+label::before,
input[type="checkbox"]+label::after{
border-radius:0;
}
input[type="checkbox"]+label::after{
display:none;
background-image: url("data:image/svg+xml;charset=utf8;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG
5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3J
nLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIHhtbDpzcGFjZT0i
cHJlc2VydmUiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PGcgY2xhc3M9Im5jLWljb24td3JhcHBlciIgZ
mlsbD0iIzRiNGI0ZCI+PHBhdGggZmlsbD0iIzAwNmFiMiIgZD0iTTE0LjMsMi4zTDUsMTEuNkwxLjcsOC
4zYy0wLjQtMC40LTEtMC40LTEuNCwwcy0wLjQsMSwwLDEuNGw0LDRDNC41LDEzLjksNC43LDE0LDUsMTR
zMC41LTAuMSwwLjctMC4zIGwxMC0xMGMwLjQtMC40LDAuNC0xLDAtMS40UzE0LjcsMS45LDE0LjMsMi4z
eiI+PC9wYXRoPjwvZz48L3N2Zz4=");
background-repeat:no-repeat;
background-position:center;
}
input[type="checkbox"]:checked+label::after{
display:inline;
}
Radio-Boxen (Variante 1)
Bitte darauf achten, dass auch der Text der Radio-Box klickbar ist.
<input type="radio" value="radio1" id="radio1" name="radio">
<label for="radio1">Frau</label>
input[type="radio"] {
height: 11px;
width: 11px;
margin: 7px;
position: absolute;
}
input[type="radio"]+label {
position:relative;
display:inline-block;
padding: 2px 0 0 35px;
cursor: pointer;
}
input[type="radio"]+label::before,
input[type="radio"]+label::after {
content:'';
display:inline;
position:absolute;
left: 0;
top:2px;
height:23px;
width:23px;
border: 1px solid #DBDBDB;
border-radius: 20px;
background-color: #FFF;
}
input[type="radio"]+label::after{
display:none;
background-color: #006AB2;
width: 15px;
height: 15px;
border: none;
}
input[type="radio"]:checked+label:after {
display:inline;
}
input[type="radio"]:checked+label:after {
margin: 4px;
}
Radio-Boxen (Variante 2)
-
Sortierung
<ul class="sort-checkbox">
<span class="field-label">Sortierung</span>
<li>
<input type="radio" value="new" id="new" name="sort" checked>
<label title="Neuste" for="new">Neuste</label>
</li>
<li>
<input type="radio" value="old" id="old" name="sort">
<label title="Älteste" for="old">Älteste</label>
</li>
<li>
<input type="radio" value="best" id="best" name="sort">
<label title="Relevanz" for="best">Relevanz</label>
</li>
</ul>
.field-label {
margin: 5px 0;
display: block;
text-align: left;
text-transform: uppercase;
font-size: 16px;
}
.sort-checkbox {
list-style-type: none;
}
.sort-checkbox::after {
content: "";
clear: both;
display: block;
}
.sort-checkbox li {
float: left;
display: block;
box-sizing: border-box;
border: 1px solid #DBDBDB;
border-right:none;
background-color: #FFFFFF;
line-height: 0;
}
.sort-checkbox li:last-of-type {
border: 1px solid #dbdbdb;
}
.sort-checkbox li label {
box-sizing: border-box;
height: 48px;
font-size: 16px;
line-height: 48px;
text-align: center;
padding: 0 20px;
margin: 0;
}
.sort-checkbox input[type="radio"]+label::before,
.sort-checkbox input[type="radio"]+label::after,
.sort-checkbox input[type="radio"] {
content: none;
display: none;
margin: 0;
}
.sort-checkbox input[type="radio"]+label::after {
display: block;
content: attr(title);
font-weight: 500;
height: 0;
width: auto;
visibility: hidden;
overflow: hidden;
position: relative;
}
.sort-checkbox input[type="radio"]:checked+label {
background-color: #F7F7F7;
font-weight: 500;
}
Toggle-Switch
<input id="check1" type="checkbox" class="switch-slider round">
<label for="check1">Label 1</label>
input.switch-slider {
display: none;
}
input.switch-slider+label {
padding: 0 0 0 47px;
}
input.switch-slider+label:before {
display:block;
width: 40px;
height: 24px;
}
input.switch-slider+label:after,
input.switch-slider:checked+label:after{
display: block;
height: 20px;
width: 20px;
margin:2px;
border:none;
background: none;
background-color: #dbdbdb;
-webkit-transition: .2s;
transition: .2s;
}
input.switch-slider:checked+label:after {
background-color: #006ab2;
-webkit-transform: translateX(16px);
-ms-transform: translateX(16px);
transform: translateX(16px);
}
input.switch-slider.round+label:before,
input.switch-slider.round+label:after{
border-radius: 34px;
}
Labels ohne Markierung
Für Labels bietet es sich an, diese nicht markierbar zu setzten. Dies hat den Vorteil, dass beim setzten des Haken (Klick auf Label) nicht ausversehen der Text markiert wird. Hierfür steht die klasse .unselectable zur Verfügung. Unterstützt in der folgenden Form ab IE 10.
.unselectable {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}