Voglio usare la flexbox che ha un numero di elementi tutti della stessa larghezza. Ho notato che la flexbox distribuisce lo spazio in modo uniforme, piuttosto che lo spazio stesso.Come rendere gli elementi Flexbox della stessa dimensione?
Ad esempio:
.header {
display: flex;
}
.item {
flex-grow: 1;
text-align: center;
border: 1px solid black;
}
<div class="header">
<div class="item">asdfasdfasdfasdfasdfasdf</div>
<div class="item">z</div>
</div>
Il primo elemento è molto più grande rispetto al secondo. Se ho 3 articoli, 4 articoli o n elementi, voglio che compaiano tutti sulla stessa riga con una quantità uguale di spazio per articolo.
Qualche idea?
http://codepen.io/anon/pen/gbJBqM
Questo non è corretto. Il valore di flex predefinito è 'flex: 0 1 auto'. Il che significa che l'impostazione 'flex: 1' darà come risultato' flex: 1 1 auto'. Questo non funzionerà. La risposta corretta è 'flex: 1 1 0' come indicato sopra per Adam –
@ r.sendecky No, sei tu che non sei corretto. Come ho affermato nella mia risposta, la scorciatoia di 'flex: 1' risulta in' flex: 1 1 0' ** non ** 'flex: 1 1 auto' come si sta rivendicando. Date un'occhiata alle specifiche ufficiali W3 nella sezione ['flex shorthand'] (https://www.w3.org/TR/css-flexbox-1/#flex-property): quando 'flex-base' è" omesso dalla scorciatoia flex, il suo valore specificato è '0'", non 'auto'. Grazie per il downvote casuale. –
@ r.sendecky - Dai un'occhiata anche a [questo esempio] (https://jsfiddle.net/o25wto2d/) che ho creato per visualizzare le varianti. –