Ich habe das Gefühl, die Hälfte aller „individuell gestalteten Radio-Buttons und Checkboxen“ macht zwei Dinge
- Mache sie größer
- Koloriere sie
Ich denke immer an SurveyMonkey, wenn ich an große, klobige Radios und Checkboxen denke. Und tatsächlich, wenn man sich die Benutzeroberfläche kurz ansieht, auch intern, verwendet die App diese überall.

<label>-Element mit Icon-Schriftarten und Ähnlichem zu bestehen.Ich denke, es ist erwähnenswert, dass, wenn das alles ist, was Sie tun, Sie das vielleicht mit null CSS-Tricksereien erreichen könnten. Machen Sie sie einfach… größer und färben Sie sie ein.
Wie…
input[type="radio"],
input[type="checkbox"] {
width: 3em;
height: 3rem;
accent-color: green;
}
Das macht diese Dinger größer *und* färbt sie ziemlich gut ein!


Außer (obligatorisches trauriges Posaunen-Geräusch) in Safari

Wir sind *so nah* dran, mit sehr einfachem CSS den Hauptanwendungsfall für benutzerdefinierte Checkboxen und Radios zu erfüllen. Aber kein Erfolg, es sei denn, Sie können sich damit abfinden, das Safari-UI einfach zu ignorieren (es ist schließlich *immer noch voll funktionsfähig*).
Wenn Sie aufgeben und sich für ein komplett eigenes Design entscheiden müssen, hat Stephanie Eckles das für Sie!
In verwandten Nachrichten denke ich immer an ein „Toggle“-UI-Steuerelement als einen Satz von 2 per Progressive Enhancement verbesserten Radio-Buttons, aber es stellt sich heraus, dass <button> der richtige Weg ist, wie Michelle Barker hier beschreibt. Keine native UI für Slider-Toggle-Dingens, leider.
Für mich ist ein Toggle eine Checkbox. An = angehakt. Aus = nicht angehakt. So habe ich die meisten Leute sie bauen sehen. Habe nie Leute gesehen, die Radio oder Button dafür verwendet haben.
Mit einem Radio könnte man meiner Meinung nach ein richtiges/anderes Label für beide Seiten haben.
Was Chris gesagt hat. Denken Sie an eine Einstellung wie diese:
Eine Checkbox wäre hier nicht sinnvoll. Sie würden nicht „Thema“ ein- oder ausschalten, sondern zwischen zwei verschiedenen Zuständen (dunkel und hell) wechseln.
„es sei denn, Sie können sich dazu bringen, Safari einfach zu ignorieren“
Fertig.
Ich stimme zu. Semantisch ist ein An/Aus-Toggle eine Checkbox und wäre aus Sicht der Barrierefreiheit sinnvoller. Die Verwendung einer Radio-Schaltfläche wäre nicht sinnvoll, da sie es dem Benutzer nicht erlaubt, sie auszuschalten (ohne seltsame Tricks mit JavaScript), und die Verwendung eines Schiebereglers mit nur 2 verschiedenen Werten, um einen Toggle zu replizieren, wird für Menschen, die Dinge wie Bildschirmlesegeräte verwenden, anders dargestellt.
Ich bin noch neu in CSS, aber was ist der Vorteil dieser Methoden gegenüber der Verwendung von
appearance:none(und auch den Vendor-Prefix-Versionen) und dem anschließenden direkten Stylen der Checkbox/Radio nach Bedarf?Der Vorteil ist, dass diese Methode viel einfacher ist – Sie steuern das Aussehen des Radio-/Checkbox-Elements mit nur 3 Eigenschaften. Wenn Sie appearance:none verwenden, müssen Sie die Checkbox/das Radio von Grund auf neu „zeichnen“, einschließlich der Form des Häkchens (z.B. mit einem Bild), wenn es angehakt ist usw.
versuchen Sie ‘transform: scale(2);’
Das funktioniert in Safari, aber die UI-Elemente werden ziemlich unscharf.
CSS
accent-colorwird in der Safari Technology Preview Release 135 unterstützt und ist standardmäßig aktiviert, sodass es in einer zukünftigen Safari-Version landen wird.Die gute Nachricht ist, dass
accent-colorvor ein paar Tagen zu Safari TP hinzugefügt wurde, sodass es sehr bald bei uns sein sollte.https://webkit.org/blog/12040/release-notes-for-safari-technology-preview-135/
Warum hast du ihre Breiten auf
3emund ihre Höhe auf3remgesetzt? Ist das ein Tippfehler oder ein Trick, den ich noch nicht kenne?Das Leben braucht ein wenig Chaos.
(Es ist ein Tippfehler)
Danke – es ist schön, endlich eine Möglichkeit zu haben, lästige Formularelemente so zu gestalten, dass sie den Designer zufriedenstellen, ohne dass sich der Frontend-Entwickler schlecht fühlt.