Il testo verrà posizionato al centro e il pulsante sta andando a da posizionare tra il testo e il fondo.
È possibile utilizzare una combinazione di auto
margins con un elemento flessibile invisibile per ottenere il layout:
(Edit:. Ho scritto questa risposta prima che la questione è stata aggiornata con il codice di esempio Quindi il mio codice è diverso da quello in la questione. Ma il metodo si applica ancora.)
html, body {
height: 100%;
margin: 0;
}
.container {
display: flex;
flex-direction: column;
align-items: center;
height: 100%;
box-sizing: border-box;
}
.container > div:nth-child(1) { margin-top: auto; visibility: hidden; }
.container > div:nth-child(2) { margin-top: auto; }
.container > div:nth-child(3) { margin-top: auto; margin-bottom: auto; }
/* non-essential decorative styles */
.container {
background-color: yellow;
}
.box {
height: 50px;
width: 150px;
background-color: lightgreen;
display: flex;
justify-content: center;
align-items: center;
font-size: 1.2em;
box-sizing: border-box;
}
<div class="container">
<div class="box">BUTTON</div><!-- invisible flex item -->
<div class="box">SUPERMAN</div>
<div class="box">BUTTON</div>
</div>
jsFiddle
Inoltre, con due piccoli aggiustamenti, l'elemento inferiore può essere a filo con il bordo.
.container > div:nth-child(1) { /* margin-top: auto; */ visibility: hidden; }
.container > div:nth-child(2) { margin-top: auto; }
.container > div:nth-child(3) { margin-top: auto; /* margin-bottom: auto; */ }
jsFiddle
O, basta usare justify-content: space-between
:
.container > div:nth-child(1) { visibility: hidden; }
/* .container > div:nth-child(2) { margin-top: auto; } */
/* .container > div:nth-child(3) { margin-top: auto; } */
.container {
display: flex;
flex-direction: column;
align-items: center;
background-color: yellow;
height: 100%;
box-sizing: border-box;
justify-content: space-between; /* NEW */
}
jsFiddle
Per maggiori opzioni di allineamento vedere: Methods for Aligning Flex Items
fonte
2015-11-26 18:13:34
@Michael_B Grazie uomo, questo sembra anche come un buon approccio. Lo proverò più tardi oggi! – allegutta