I have the following layout http://jsbin.com/joyetaqase/1/edit?html,css,output
<div class="row">
<div class="col">
<h2>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</h2>
<p>my footer</p>
</div>
<div class="col">
<h2>Lorem Ipsum.</h2>
<p>my footer</p>
</div>
</div>
Using flexbox I'm trying to make same height and same width to the .col
divs.
My question is: how can I put the <p>
to stick at the bottom of the box?
Layout should look like:
I know I can make the <p>
absolute and use bottom:0;
but I want to achieve this with flexbox, is it possible?
Can someone explain?
You can do following way. Give display: flex;
flex-direction: column;
to
.col
and flex: 1 0 auto;
to h2
.row {
width: 500px;
font-family: monospace;
display:flex;
}
.col {
width: 50%;
border: 1px solid #000;
padding: 10px;
box-sizing: border-box;
display: flex;
flex-direction: column;
}
h2, p {
font-weight: normal;
margin: 0;
}
h2 {
flex: 1 0 auto;
}
<div class="row">
<div class="col">
<h2>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</h2>
<p>my footer</p>
</div>
<div class="col">
<h2>Lorem Ipsum.</h2>
<p>my footer</p>
</div>
</div>
Updated JSBin
Make .col
a nested, column-direction flex container.
.col {
width: 50%;
border: 1px solid #000;
padding: 10px;
box-sizing: border-box;
/* NEW */
display: flex;
flex-direction: column; /* stack <h2> and <p> vertically */
justify-content: space-between; /* align <h2> at top and <p> at bottom */
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With