Ist es möglich, die Größe eines Kontrollkästchens mithilfe von CSS oder HTML in verschiedenen Browsern festzulegen?
width
und size
arbeiten in IE6 +, aber nicht mit Firefox, wo das Kontrollkästchen 16x16 bleibt, auch wenn ich eine kleinere Größe einstelle.
style=
Tag ist CSS ...Antworten:
Es ist ein wenig hässlich (aufgrund der Vergrößerung), aber es funktioniert auf den meisten neueren Browsern:
quelle
transform: scale(2);
auch hinzu, um mehr für jeden Browser zu gewährleistenArbeitslösung für alle modernen Browser.
Kompatibilität:
Aussehen:
quelle
transform
Eigenschaft nicht unterstützt . IE 9 unterstützt,-ms-transform
die Sie verwenden könnten, einige sagen jedoch, dass es ziemlich pixelig ist, daher ist es möglicherweise besser, IE 9 mit der Standardeinstellung zu belassen.Eine einfache Lösung ist die Verwendung der Eigenschaft
zoom
:quelle
Version 2020 - Bei Verwendung von Pseudoelementen hängt die Größe von der Schriftgröße ab.
Das Standard-Kontrollkästchen / Radio wird außerhalb des Bildschirms gerendert, aber CSS erstellt virtuelle Elemente, die den Standardelementen sehr ähnlich sind. Unterstützt alle Browser, keine Unschärfe. Die Größe hängt von der Schriftgröße ab. Tastaturaktionen (Leerzeichen, Registerkarten) werden ebenfalls unterstützt.
https://jsfiddle.net/ohf7nmzy/2/
Version 2017 - mit Zoom oder Skalierung
Der Browser verwendet nicht standardmäßige
zoom
Funktionen, wenn diese unterstützt werden (gute Qualität) oder standardmäßigtransform: scale
(verschwommen).Die Skalierung funktioniert in allen Browsern, in Firefox und Safari ist sie jedoch verschwommen .
https://jsfiddle.net/ksvx2txb/11/
quelle
Ich bin gerade damit herausgekommen:
Dank dessen können Sie natürlich den Wert von
content
an Ihre Bedürfnisse anpassen und ein Bild verwenden, wenn Sie dies wünschen oder eine andere Schriftart verwenden ...Das Hauptinteresse hier ist, dass:
Die Größe des Kontrollkästchens bleibt proportional zur Textgröße
Sie können den Aspekt, die Farbe und die Größe des Kontrollkästchens steuern
Kein zusätzlicher HTML-Code erforderlich!
Es werden nur 3 Zeilen CSS benötigt (die letzte dient nur dazu, Ihnen Ideen zu geben)
Bearbeiten : Wie im Kommentar erwähnt, ist das Kontrollkästchen für die Tastaturnavigation nicht zugänglich. Sie sollten
tabindex=0
Ihr Etikett wahrscheinlich als Eigenschaft hinzufügen , um es fokussierbar zu machen.quelle
display:none
verhindert die Einstellung der Eingabe, dass sie mit dertab
Taste ausgewählt wird, sodass ich dies nicht für eine gute Idee halte.Vorschau:
http://jsfiddle.net/h4qka9td/
quelle
Das Erscheinungsbild von Kontrollkästchen scheint standardmäßig festgelegt zu sein. Wie von Worthy7 hervorgehoben, kann dies jedoch mithilfe der CSS-
appearance
Eigenschaft behoben werden . Dadurch werden die Kontrollkästchen vollständig leer, sodass Sie Ihr eigenes Erscheinungsbild definieren können. Das Schöne daran: Sie können Ihren vorhandenen HTML-Code verwenden. Nachteil: Es ist experimentelle Technologie . Edge und IE verwenden nicht den benutzerdefinierten Stil.Hier sind die benötigten CSS-Stile:
Screenshots:
Chrom:
Feuerfuchs:
Kante:
IE:
quelle
Ich wollte ein Kontrollkästchen erstellen, das nur ein bisschen größer war, und habe mir den Quellcode für 37Signals Basecamp angesehen, um die folgende Lösung zu finden:
Sie können die Schriftgröße ändern, um das Kontrollkästchen etwas größer zu machen:
Anschließend können Sie das Kontrollkästchen ordnungsgemäß ausrichten, indem Sie folgende Schritte ausführen:
quelle
Mit diesem Attribut können Sie Kontrollkästchen in Safari vergrößern, das im Allgemeinen den üblichen Ansätzen widersteht:
-webkit-transform: scale(1.3, 1.3);
Quelle
quelle
Ich denke, die einfachste Lösung besteht darin, das Kontrollkästchen neu zu gestalten, wie einige Benutzer vorschlagen. Das folgende CSS funktioniert für mich, erfordert nur ein paar Zeilen CSS und beantwortet die OP-Frage:
Wie in diesem Beitrag erwähnt, scheint die Zoom-Eigenschaft in Firefox nicht zu funktionieren, und Transformationen können unerwünschte Effekte verursachen.
Getestet auf Chrome und Firefox, sollte für alle modernen Browser funktionieren. Ändern Sie einfach die Eigenschaften (Farben, Größe, unten, links usw.) Ihren Anforderungen. Ich hoffe es hilft!
quelle
Mein Verständnis ist, dass dies überhaupt nicht einfach ist, Cross-Browser zu machen. Anstatt zu versuchen, das Kontrollkästchen-Steuerelement zu manipulieren, können Sie jederzeit eine eigene Implementierung mit Bildern, Javascript und ausgeblendeten Eingabefeldern erstellen. Ich gehe davon aus, dass dies dem ähnelt, was niceforms ist (aus der obigen Antwort von Staicu lonut), aber nicht besonders schwierig zu implementieren wäre. Ich glaube, jQuery hat ein Plugin, das auch dieses benutzerdefinierte Verhalten berücksichtigt (ich werde nach dem Link suchen und hier posten, wenn ich ihn finde).
quelle
Ich fand diese reine CSS-Bibliothek sehr hilfreich: https://lokesh-coder.github.io/pretty-checkbox/
Oder Sie können Ihre eigenen mit demselben Grundkonzept rollen, ähnlich dem, was @Sharcoux gepostet hat. Es ist im Grunde:
input:checked~div label
für den aktivierten Stil<label>
mit anklickbar sindfor=yourinputID
quelle
Das Problem ist, dass Firefox nicht auf Breite und Höhe hört. Deaktiviere das und dein Gut zu gehen.
quelle
Die anderen Antworten zeigten ein pixeliges Kontrollkästchen, während ich etwas Schönes wollte. Das Ergebnis sieht folgendermaßen aus:
Obwohl diese Version komplizierter ist, denke ich, dass es sich lohnt, sie auszuprobieren.
JSFiddle: https://jsfiddle.net/asbd4hpr/
quelle
Sie können die Höhe und Breite im folgenden Code ändern
quelle