2014-11-15 15 views

Antwort

9

Vertical align funktioniert nur mit Inline-Blockelementen, Floated-Elemente ignorieren die Eigenschaft Vertical align.

Aktualisieren Sie die Box-Klasse mit dem folgenden:

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

Ich würde sie alle Inline-Block-Elemente machen und den Leerraum mit one of these techniques entfernen.

Aktualisiert Geige: http://jsfiddle.net/9rcnLb8n/

Alternativ Sie flexbox mit der align-self: flex-end; Eigenschaft nutzen könnten.

+2

Flexbox eingeschränkt zu verwenden !!! Das ist die dunkle Seite! Noch nicht erlaubt !!!! – knitevision

+1

Ja, obwohl ich es erwähnen würde, da es eine andere Option ist, wenn du an einem Projekt arbeitest, das die Dinosaurier-Browser nicht unterstützt :) – nickspiel

+0

@nickspiel was soll ich tun, wenn es etwas gibt: richtig; Elemente auch? Ich kann es nicht zur Anzeige ändern: 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 diesem Fall verwenden Sie nicht:

float: left; 

Stattdessen verwenden:

display: inline-block; 

Schauen Sie sich meine Geige:

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