2014-11-15 17 views

risposta

9

L'allineamento verticale funziona solo con gli elementi di blocco in linea, gli elementi fluttuanti ignorano la proprietà di allineamento verticale.

aggiornare la classe dialogo con il seguente:

.box { 
    display: inline-block; 
    vertical-align: bottom; 
    width:80px; 
} 

vorrei fare loro tutti gli elementi di blocco in linea e rimuovere gli spazi con one of these techniques.

violino Aggiornato: http://jsfiddle.net/9rcnLb8n/

In alternativa è possibile utilizzare flexbox con la proprietà align-self: flex-end;.

+2

Flexbox è limitato a usare !!! Quello è il lato oscuro! Non ancora autorizzato !!!! – knitevision

+1

Sì, anche se lo menzionerei perché è un'altra opzione se stai lavorando su un progetto che non deve supportare i browser dei dinosauri :) – nickspiel

+0

@nickspiel cosa devo fare se ci sono dei float: giusto; anche gli elementi? Non posso cambiarlo per visualizzare: inline-block; –

1

HTML:

<div id='wrapper'> 
    <div id='a' class='box'>aa</div> 
    <div id='b' class='box'>bb</div> 
    <div id='c' class='box'>cc</div> 
    <div id='d' class='box'>dd</div> 
</div> 

CSS:

.box { 
    width:80px; 
    vertical-align: bottom; 
    display: inline-block; 
} 
#a { 
    background-color:red; 
    height:200px; 
} 
#b { 
    background-color:green; 
    height:100px; 
} 
#c { 
    background-color:yellow; 
    height:150px; 
} 
#d { 
    background-color:blue; 
    height:300px; 
} 

#wrapper { 
    border: 1px solid pink; 
    display: table; 
} 

In questo caso non utilizzare:

float: left; 

invece utilizzare:

display: inline-block; 

Guarda il mio violino:

http://jsfiddle.net/Lb1su4w2/6/

Problemi correlati