Wahrscheinlich Zeilenumbrüche zwischen <input>
Tags werden wie alle anderen Leerzeichen interpretiert, deshalb sehen Sie Leerzeichen zwischen ihnen. Ich denke, die CSS-Regeln haben nichts damit zu tun.
Editar: Weitere Nachforschungen haben ergeben, dass sich Leerzeichen nur auf horizontale Lücken auswirken würden. Was den vertikalen Abstand betrifft, so ist es meines Erachtens unmöglich, sicherzustellen, dass die Kontrollkästchen zusammenhalten, ohne benutzerdefinierte Grafiken zu verwenden - Webbrowser sind nicht verpflichtet, sie standardmäßig perfekt quadratisch zu machen, und selbst wenn Sie einen Weg finden, ihre Begrenzungsrahmen einander berühren zu lassen, könnte der Effekt nicht zufriedenstellend sein.
Um ihre Bounding Boxes so eng wie möglich zu machen, setzen Sie line-height
Attribut für div
Element. Mit Original-Sprites sieht es in keinem Browser, den ich getestet habe, so aus, wie Sie es wollten.
Verwendung einer benutzerdefinierten Grafik mit einer bestimmten Höhe und identischer line-height
sollte das genügen.
Eine weitere Bearbeitung: Einige Leute haben hier vorgeschlagen, eine feste Höhe des Eingabeelements von 13px
. Erinnern Sie sich! Es ist falsch . Sie können sich nicht darauf verlassen, dass einige Browser ein Checkbox-Sprite mit dieser Höhe eingebaut haben.
0 Stimmen
Diese könnte Diese Frage ist aufgrund der Unterschiede zwischen den verschiedenen Webbrowsern schwer zu beantworten - ich sage "könnte", weil Sie nur wenige Informationen über Ihren Kontext gegeben haben: * Welchen Browser verwenden Sie? * Welche Doctype-Deklaration haben Sie verwendet? * ...wird die Seite im Quirks-Modus gerendert? * streben Sie eine browserübergreifende Kompatibilität an?