Flexbox center and bottom right item

I'm trying to achieve the following result using flexbox: Flexbox demo

I tried the with the following html but I can't get it to work.

<div> <div> <p> Some text in box A </p> </div> <div> <p>Some text in box B....</p> </div> </div> 

CSS:

.flex-center { display: flex; align-items: center; align-content: center; justify-content: center; } .flex-item-center { align-self: center; } .flex-item-bottom { align-self: flex-end; } 

How can I make it look like the image?

4 Answers

I've made a posible solution.

.flex-center { background-color: #739FD0; color: #000000; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-content: center; align-items: center; height: 400px; } .flex-center-bottom { background-color: #739FD0; color: #000000; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-end; align-content: center; align-items: center; } .flex-item-center { border: solid 2px #4675AA; order: 0; flex: 0 1 auto; align-self: center; } .flex-item-bottom { border: solid 2px #4675AA; order: 1; flex: 0 1 auto; align-self: flex-end; }
<div> <div> <p>DROP FILES HERE</p> </div> </div> <div> <div> <p>Hint: You can also drop files in the all files page</p> </div> </div>

Update 2017: Tested in Google Chrome Versión 62.0.3202.89 (Build oficial) (32 bits).

.flex-center, .flex-center-bottom { align-items: center; background-color: #739FD0; color: #000000; display: flex; } .flex-center { height: 400px; justify-content: center; } .flex-center-bottom { justify-content: flex-end; } .flex-item-center { border: solid 2px #4675AA; font-family: Arial, sans-serif; font-size: 1.6em; line-height: 1px; padding: 0 3px; }
<div> <div> <p>Some text in box A</p> </div> </div> <div> <div> <p>Some text in box B...</p> </div> </div>

I hope this helps you.

2

Is this what you are looking for?

body { background-color: lightblue; } #main { width: 100%; height: 400px; border: 1px solid black; display: -webkit-flex; /* Safari */ -webkit-align-items: flex-start; /* Safari 7.0+ */ display: flex; align-items: flex-start; } #main div { -webkit-flex: 1; /* Safari 6.1+ */ flex: 1; } .flex-item-center { margin-left: 40%; border-style: solid; -webkit-align-self: center; /* Safari 7.0+ */ align-self: center; } .flex-item-bottom { border-style: solid; align-self: flex-end; } 
1

Try:

#main-wrapper { background: blue; width: 100%; height: 100%; min-height: 300px; display: flex; align-items: center; } .x-center { display: flex; justify-content: center; } .y-center { flex: 1; } .x-right { justify-content: flex-end; } .y-bottom { align-self: flex-end; } .small-div { padding: 10px; }
<div> <div>Center center</div> <div>Bottom Right</div> </div>

Notes:

The align-self won't work for IE10 or below. Anybody know how to make the center div a bit more to the left without position relativing it? Thanks

In Bootstrap 4.x you can use the utility classes

<link href="" rel="stylesheet" /> <div> <div> <div> <div> <div>center center</div> </div> <div> <div>right bottom</div> </div> </div> </div> </div>

EDIT

Since I received a couple downvotes I believe a review is in order.
To me the above answer is still valid, however I understand it's not clear it requires some height.

How this height is achieved doesn't really matter. Either you set it fixed in CSS on a wrapper or for the code snippet's sake we set the document's height to make it responsive.

If the "center content" takes up the space in height, the "bottom content" can be positioned absolute, so it doesn't add height. All what's left is to make sure it covers the full width and positions from the bottom.

html, body { height: 100%; } /* can be anything that generates height */
<link href="" rel="stylesheet" /> <div> <div>center center</div> </div> <div> <div>right bottom</div> </div>

So functionality wise, there's no additional CSS required in Bootstrap.

Documentation justify content
Documentation position

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like