2011-08-16 3 views
17

je le suivant HTML généré automatiquement:Indentation étiquettes multilignes

http://jsfiddle.net/BrV8X/

Quelle est la façon conseillé, en utilisant le CSS, pour mettre en retrait l'étiquette pour qu'il y ait un espace blanc sous le bouton radio?

+0

Si vous pouvez envelopper chaque entrée et jeu d'étiquettes dans une div, vous pouvez utiliser 'display: table-cell' pour mettre efficacement ces derniers dehors. Est-ce possible? –

Répondre

35
label { 
    display: block; 
    margin-left: 20px; 
} 
input { 
    float: left; 
    margin-left: -20px; 
    margin-right: 7px; 
} 

Voici le violon: http://jsfiddle.net/hrfmt/. Jouez avec les valeurs.

EDIT:

Si tous les navigateurs dont vous avez besoin pour soutenir peuvent comprendre display: inline-block, utiliser à la place de float.

+0

Vous avez laissé entendre qu'il est possible de faire avec 'display: inline-block', mais n'avez pas fourni d'exemple dans votre réponse. J'ai donc ajouté une réponse qui fait cela. – aross

3

Voici un exemple de la façon de le faire sans avoir recours à des flotteurs. Vous devrez faire de la magie avec des marges négatives avec cette approche.

input { 
    display: inline-block; 
    margin-right: -100px; 
    /* The 2 below properties are just for "correct" vertical placement of the button. */ 
    margin-top: 5px; 
    vertical-align: top; 
} 
label { 
    display: inline-block; 
    margin-left: 100px; 
    margin-right: -100px; 
} 
div { 
    /* Just some spacing between the radio buttons. */ 
    margin-bottom: 5px; 
} 

http://jsfiddle.net/4osbp0mo/2/