2010-10-06 13 views
26

Für die CSS-Gurus gibt dieses Markup ein Kontrollkästchen mit einem Label Value1 auf der rechten Seite, aber Value1 ist zu nah an der Checkbox.Padding zwischen Kontrollkästchen und Label

<dd id="rr-element"> 
    <label for="rr-1"> 
     <input type="checkbox" value="1" id="rr-1" name="rr[]"> 
     Value 1 
    </label> 
</dd> 

Also ich versuche, eine padding-right Wirkung rechts von der Checkbox zu schaffen, aber es funktioniert nicht. Das Kontrollkästchen und die Beschriftung werden zusammen verschoben. Wie kann ich das Kontrollkästchen nur oder seinen Text nur so ausrichten, dass ich eine Auffülllücke erzeuge?

dd label input { 
    padding-right:100px; 
} 
+0

Warum ist Ihr Checkbox innerhalb der Bezeichnung? – casablanca

+4

@casa: weil es eine unüberwindbare Lücke zwischen Label und Checkbox vermeidet. – BalusC

+0

@BalusC: Interessant, das habe ich vorher nie bemerkt. – casablanca

Antwort

31

Verwenden Sie margin-right. padding ist innerhalb des Elements und wirkt oft komisch mit Eingabeelementen, weil sie unter Verwendung der nativen Eingabe-Komponenten des Betriebssystems gerendert werden.

JSFiddle here

+0

Lustig Ich hatte das vor dem Posten versucht und es hat nicht funktioniert. Stellt sich heraus, dass es sich um ein Kaskadierungsproblem handelt, musste "! Wichtig" – jblue

+3

@jblue in diesem Fall hinzugefügt werden, würde ich eher eine 'dd # rr-Element Label-Eingabe empfehlen {margin-right: 100px; } '-'! wichtig 'erzeugt oft mehr Probleme als es löst –

0

Keine unclickable Lücke zwischen Checkbox und Label.
Keine Zeilenumbruch Trennung der Checkbox und Label.
Keine Leerzeichen durch Code-Einrückungen hinzugefügt.
Besser lesbar.

<dd id="rr-element"> 
    <input type="checkbox" value="1" id="rr-1" name="rr[]"> 
    <label for="rr-1">Value 1</label> 
</dd> 

<style> 
#rr-element { 
    white-space: nowrap; 
} 

#rr-element label { 
    padding-left: 0.4em; 
} 
</style> 
+0

Äußerst redundantes 'for' Attribut, wenn Sie * das * Kontrollkästchen innerhalb des Labels setzen sollten. –

+0

Label kann das Formularelement umschließen. Aber es ist nicht so sauber. Beide Methoden sind gültig. Beide haben ihre Vor- und Nachteile. Lassen Sie uns Ihre Checkbox innerhalb des Labels sehen, die all die Dinge erreicht, die ich aufgelistet habe. – NOYB

+0

@Dark Absol - Redundant! = Schlecht. "Auch in solchen Fällen wird es als bewährte Methode angesehen, das Attribut" for "festzulegen, da einige unterstützende Technologien die impliziten Beziehungen zwischen Labels und Widgets nicht verstehen." https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/How_to_structure_an_HTML_form – NOYB

Verwandte Themen