How to center vertically text in multiple divs
In recent hours I have tried to switch from the left column to the right one. I mean, I'm trying to center vertically a div text inside a gray div.
I would like some help. I have read a lot of tutorials and answers on the forum but haven't got the expected result yet.
Any advice is more than welcome :)
HTML code:
.box-key-message{
height: 240px;
position: relative;
background-color: #eeeeee;
border-radius: 10px;
}
.box-key-message div {
display:inline-block;
vertical-align:middle;
padding: 20px;
text-align: justify;
}
.box-key-message span {
font-weight:bold;
font-size:16px;
color: #D5420F;
}
<div class="col-lg-4 col-lg-offset-1">
<div class="box-key-message">
<div>
<span> Gratuit</span>
<br /><br />
Notre service, qui vous permet dâaccĂ©der Ă des centaines dâĂ©tudiants, est complĂštement gratuit pour vous.
<br /><br />
Vous ne rĂ©munĂ©rez que lâĂ©tudiant. Un acompte de 15% vous sera demandĂ© au moment de la mise en relation. Le reste sera payĂ© une fois tous les succĂšs de votre mission atteints !
</div>
</div>
<br /><br />
<div class="box-key-message">
<div>
<span>Simple et Rapide</span>
<br /><br />
Remplissez cette page en 5 minutes pour publier une mission Ă tous nos Ă©tudiants.
<br /><br />
Vous recevrez alors le CV des Ă©tudiants intĂ©ressĂ©s par votre mission. Une fois lâĂ©tudiant sĂ©lectionnĂ©, la mission commence.
</div>
</div>
<br /><br />
<div class="box-key-message">
<div>
<span>Sans engagement</span>
<br /><br />
Les étudiants des Grandes Ecoles qui vous répondent sont qualifiés, motivés, disponibles et réactifs.
<br /><br />
Si malgrĂ© tout aucun profil ne vous correspond, vous nâavez aucune obligation de recruter un Ă©tudiant et poster la mission aura Ă©tĂ© gratuit.
</div>
</div>
<br /><br />
<div class="box-key-message">
<div>
<span>Et pour payer lâĂ©tudiant ?</span>
<br /><br />
LâĂ©tudiant vous facturera la prestation en direct Ă la fin de la mission.
</div>
</div>
</div>
source to share
Just use display: table; table-layout: fixed;
for the parent div and display: table-cell; vertical-align: middle;
for each child. See how it works below. You will probably need to specify width: 100%
for both of these as well.
.box-key-message{
height: 240px;
position: relative;
background-color: #eeeeee;
border-radius: 10px;
display: table;
table-layout: fixed;
}
.box-key-message div {
display:inline-block;
vertical-align:middle;
padding: 20px;
text-align: justify;
display: table-cell;
vertical-align: middle;
width: 100%;
}
.box-key-message span {
font-weight:bold;
font-size:16px;
color: #D5420F;
}
<div class="col-lg-4 col-lg-offset-1">
<div class="box-key-message">
<div>
<span> Gratuit</span>
<br /><br />
Notre service, qui vous permet dâaccĂ©der Ă des centaines dâĂ©tudiants, est complĂštement gratuit pour vous.
<br /><br />
Vous ne rĂ©munĂ©rez que lâĂ©tudiant. Un acompte de 15% vous sera demandĂ© au moment de la mise en relation. Le reste sera payĂ© une fois tous les succĂšs de votre mission atteints !
</div>
</div>
<br /><br />
<div class="box-key-message">
<div>
<span>Simple et Rapide</span>
<br /><br />
Remplissez cette page en 5 minutes pour publier une mission Ă tous nos Ă©tudiants.
<br /><br />
Vous recevrez alors le CV des Ă©tudiants intĂ©ressĂ©s par votre mission. Une fois lâĂ©tudiant sĂ©lectionnĂ©, la mission commence.
</div>
</div>
<br /><br />
<div class="box-key-message">
<div>
<span>Sans engagement</span>
<br /><br />
Les étudiants des Grandes Ecoles qui vous répondent sont qualifiés, motivés, disponibles et réactifs.
<br /><br />
Si malgrĂ© tout aucun profil ne vous correspond, vous nâavez aucune obligation de recruter un Ă©tudiant et poster la mission aura Ă©tĂ© gratuit.
</div>
</div>
<br /><br />
<div class="box-key-message">
<div>
<span>Et pour payer lâĂ©tudiant ?</span>
<br /><br />
LâĂ©tudiant vous facturera la prestation en direct Ă la fin de la mission.
</div>
</div>
</div>
source to share
You can use the inner div as a table cell, then it will be vertically aligned on it.
I also improved your HTML, instead of using two line breaks it is better to use paragraphs or margins.
<div class="col-lg-4 col-lg-offset-1">
<div class="box-key-message">
<div>
<span> Gratuit</span>
<p>Notre service, qui vous permet dâaccĂ©der Ă des centaines dâĂ©tudiants, est complĂštement gratuit pour vous.</p>
<p>Vous ne rĂ©munĂ©rez que lâĂ©tudiant. Un acompte de 15% vous sera demandĂ© au moment de la mise en relation. Le reste sera payĂ© une fois tous les succĂšs de votre mission atteints !</p>
</div>
</div>
<div class="box-key-message">
<div>
<span>Simple et Rapide</span>
<p>Remplissez cette page en 5 minutes pour publier une mission Ă tous nos Ă©tudiants.</p>
<p>Vous recevrez alors le CV des Ă©tudiants intĂ©ressĂ©s par votre mission. Une fois lâĂ©tudiant sĂ©lectionnĂ©, la mission commence.</p>
</div>
</div>
<div class="box-key-message">
<div>
<span>Sans engagement</span>
<p>Les étudiants des Grandes Ecoles qui vous répondent sont qualifiés, motivés, disponibles et réactifs.</p>
<p>Si malgrĂ© tout aucun profil ne vous correspond, vous nâavez aucune obligation de recruter un Ă©tudiant et poster la mission aura Ă©tĂ© gratuit.</p>
</div>
</div>
<div class="box-key-message">
<div>
<span>Et pour payer lâĂ©tudiant ?</span>
<p>LâĂ©tudiant vous facturera la prestation en direct Ă la fin de la mission.</p>
</div>
</div>
</div>
.box-key-message {
height: 240px;
background-color: #eeeeee;
border-radius: 10px;
margin-bottom: 2em;
display: table;
}
.box-key-message div {
display: table-cell;
vertical-align:middle;
padding: 20px;
text-align: justify;
}
.box-key-message span {
font-weight:bold;
font-size:16px;
color: #D5420F;
}
source to share
You can use display: table; width:100%;
in .box-key-message
and display: table-cell
on divs inside it. You want to use a table css hack because tables support vertical-align: middle
, while regular divs don't.
HTML:
<div class="row">
<div class="col-lg-4 col-lg-offset-1">
<div class="box-key-message">
<div>
<p><strong> Gratuit</strong></p>
<p>Notre service, qui vous permet dâaccĂ©der Ă des centaines dâĂ©tudiants, est complĂštement gratuit pour vous.</p>
<p>Vous ne rĂ©munĂ©rez que lâĂ©tudiant. Un acompte de 15% vous sera demandĂ© au moment de la mise en relation. Le reste sera payĂ© une fois tous les succĂšs de votre mission atteints !</p>
</div>
</div>
<div class="box-key-message">
<div>
<p><strong>Simple et Rapide</strong></p>
<p>Remplissez cette page en 5 minutes pour publier une mission Ă tous nos Ă©tudiants.</p>
<p>Vous recevrez alors le CV des Ă©tudiants intĂ©ressĂ©s par votre mission. Une fois lâĂ©tudiant sĂ©lectionnĂ©, la mission commence.</p>
</div>
</div>
<div class="box-key-message">
<div>
<p><strong>Sans engagement</strong></p>
<p>Les étudiants des Grandes Ecoles qui vous répondent sont qualifiés, motivés, disponibles et réactifs.</p>
<p>Si malgrĂ© tout aucun profil ne vous correspond, vous nâavez aucune obligation de recruter un Ă©tudiant et poster la mission aura Ă©tĂ© gratuit.</p>
</div>
</div>
<div class="box-key-message">
<div>
<p><strong>Et pour payer lâĂ©tudiant ?</strong></p>
<p>LâĂ©tudiant vous facturera la prestation en direct Ă la fin de la mission.</p>
</div>
</div>
</div>
</div>
CSS
.box-key-message{
height: 240px;
display:table;
background-color: #eeeeee;
border-radius: 10px;
margin-bottom: 20px;
width: 100%;
}
.box-key-message div {
display:table-cell;
vertical-align: middle;
padding: 20px;
text-align: justify;
}
.box-key-message strong {
font-size:16px;
color: #D5420F;
}
As a side element, you have overused your tags too much. You can get the spacing you want for the content inside the div .box-key-message
by using paragraph tags around your content. To highlight the box-key-message blocks so they don't touch each other, you can add margin-bottom: 20px;
(or any other spacing) to .box-key-message in your css.
See the codepen example for an example.
source to share