2014-09-25 13 views
5

sto usando lo stile galleggiante per rimuovere gli spazi bianchi e voglio centrarlo, ma un altro spazio bianco appare dopo il mio div#barPerché c'è spazio bianco dopo il mio blocco in linea?

enter image description here

Questo è il mio html:

<div id="foo"> 
    <div id="bar"> 
     <div class="divo divo1">test1</div> 
     <div class="divo divo2">test2</div> 
     <div class="divo divo3">test3</div> 
     <div class="divo divo4">test4</div> 
    </div> 
</div> 

e css:

#foo { 
    width: 100%; 
    background: #999; 
    text-align: center; 
} 
#bar { 
    display: inline-block; 
} 
.divo { 
    display: block; 
    float: left; 
} 

http://jsfiddle.net/Kodam/ay3ywtqa/

Nota: non desidero utilizzare gli stili margine negativo o dimensione carattere 0.

risposta

9

Poiché #bar è un elemento inline, ha spazio riservato per elementi di testo discensore (ad esempio j, y, g). Si potrebbe galleggiare che di sinistra, ma che sarebbe crollato, così mi consiglia di impostare l'allineamento verticale verso l'alto:

#bar { 
    display: inline-block; 
    vertical-align:top; 
} 

jsFiddle example

+1

Funziona come un incantesimo! –

+0

Sembra che 'vertical-align' sia per impostazione predefinita' vertical-align: baseline; '. Quindi quando cambiamo qualcosa per 'display: inline-block', il nostro oggetto viene visualizzato allineato verticalmente alla base, e dobbiamo impostarlo su' top' (o dovunque) a seconda ... sembra qualcosa di semplice ma mi ha portato un molto tempo per ricordare di rimanere nella mia testa! Frustrante quando le cose non si allineano bene! – natureminded

1

provare questo:

#foo { 
     width: 100%; 
     background: #999; 
     font-size:0; 
     text-align: center; 
    } 
    #bar { 
     display: inline-block; 
     font-size:13px; 
    } 

set genitore font-size a 0, quindi impostare il tipo di carattere, dimensione necessaria per i bambini.

jsFiddle: http://jsfiddle.net/ay3ywtqa/3/

+0

Funziona, ma non voglio utilizzare lo stile font-size bro –

+0

@DocKodam dovresti: p – nicolast