2014-11-04 11 views
7

Problema di Flexbox. Spero che qualcuno possa aiutare :)C'è un modo per impilare i div uno sopra l'altro usando la sintassi flexbox?

Sto provando a costruire un mazzo di carte fatte di div e impilarle l'una sull'altra come faresti usando la posizione: assoluta.

C'è un modo per far sì che i div si sovrappongano nello stesso spazio usando il flexbox?

+0

Penso FlexBox è la tecnologia sbagliata per questo, quale codice avete fino ad ora? – pstenstrm

+0

flexbox non era davvero progettato per questo - il posizionamento era. C'è un motivo per cui non sei in grado di utilizzare il posizionamento? – jbutler483

+0

https://stackoverflow.com/q/43919067/3597276 –

risposta

1

Avrei bisogno di avere del codice da te e ulteriori informazioni, ma penso che sia possibile.

Se si vuole farlo modo solitario:

Basta aggiungere troppo pieno nascosto alle carte sulla parte superiore e max-height diciamo 20px.

L'ultimo non deve avere max-height e overflow:auto.

Tuttavia, ciò che si sta facendo è probabilmente più facile da fare senza il flexbox. Flexbox può essere utilizzato anche con position:abosolute. Sono attributi diversi. Dare alcuni esempi di cosa stai cercando di realizzare forse potrò aiutarti.

11

Un modo per ottenerlo è impostare un margine negativo. Un mazzo di carte usarlo:

.deck { 
 
    display: flex; 
 
    height: 200px; 
 
    flex-direction: column; 
 
} 
 

 
.card { 
 
    height: 100px; 
 
    width: 60px; 
 
    flex: 100px 1 0; 
 
    border: solid 1px black; 
 
    border-radius: 5px; 
 
    margin-bottom: -80px; 
 
    background-color: white; 
 
    box-shadow: 3px 3px 3px gray; 
 
}
<div class="deck"> 
 
<div class="card">1</div>  
 
<div class="card">2</div>  
 
<div class="card">3</div>  
 
<div class="card">4</div>  
 
<div class="card">5</div>  
 
</div>

+1

Grazie per aver trovato il tempo di rispondere a questo con un buon esempio. – iain

+0

Felice che ti abbia aiutato! – vals

Problemi correlati