Horizontal & Vertical centring using flexbox module
Aligning content vertically inside a DIV or a box has always been an issue in CSS. There was some tricks available with display: table and display: table-cell properties. But it was never convenient to implement, until flexbox module came into the existence.
With Flexbox, one can align anything (vertically or horizontally) with the align-items and justify-content properties.
The align-items property specifies the vertical alignment of contents inside the flex container and the justify-content property allows the content to align horizontally.
Code you need to use for horizontal and vertical centring of content is:
display: flex; align-items: center; justify-content: center;
Note: You can use flexbox modules for particular parts of your page, its not mandatory to create whole layout using flexbox properties.
Complete example with HTML and CSS code:
html, body {
height: 100%;
}
body {
margin: 0;
}
.flex-container {
height: 100%;
padding: 0;
margin: 0;
display: flex;
align-items: center;
justify-content: center;
flex: 1 0 auto;
}
.flex-item {
background-color: red;
padding: 5px;
width: 100px;
height: 100px;
line-height: 100px;
margin: 10px;
color: white;
font-weight: bold;
font-size: 2em;
text-align: center;
}
<div class="flex-container"> <div class="flex-item">1</div> <div class="flex-item">2</div> <div class="flex-item">3</div> <div class="flex-item">4</div> </div>
About the author
Jaspreet Kaur
Jaspreet is a UI/UX designer with expertise in front-end development for web and mobile. She is passionate about designing solutions through collaboration, iteration, and following the best technology development practices.