2010-11-24 10 views
1

Bonkers!CSS für Etikett treibt mich verrückt

Warum stimmt das Label-Element nicht mit allem überein?
Ich setze alle meine Zeilenhöhen auf 24px, Inline-Blöcke. hier

Beispiel: http://jsfiddle.net/kMtYN/

html { 
    font-size: 16px; 
    font-family:'Lucida Grande', 'Trebuchet MS'; 
} 
.ims-div { 
    height: 24px; 
    background: gray; 
} 
.ims-span { 
    display: inline-block; 
    width: 24px; height: 24px; 
    background: green url('is-check-small-sprite-blue.png') 0 -72px no-repeat; 
} 
.ims-label { 
    display: inline-block; 
    line-height: 24px; 
    margin: 0; padding: 0; border: 0; 
    background: purple; 
    color: white; 
    font-weight: normal; 
} 

<div class="ims-div"> 
    <span class="ims-span"></span> 
    <label class="ims-label">CheckBox 1</label> 
</div> 

Antwort

2

http://jsfiddle.net/SebastianPataneMasuelli/kMtYN/1/

hinzugefügt vertical-align:middle auf das Etikett und Spanne

+0

oh my .. und es scheint, in allen Browsern zu arbeiten? Warum macht das Label das? Ich habe versucht, alle Standardwerte zurückzusetzen, die ich mir vorstellen konnte. Vielen Dank!! – FFish

+0

Die Zeichen 'span' und 'label' verhalten sich unterschiedlich, da span nichts enthält, während label das tut. Da es keine innere Spannweite gibt, hat die Linienhöhe keine Auswirkung. aber ich bin verwirrt, warum das Label-Element diese Ränder hat. bizarr. –