I am trying to to create two divisions. Basically two 50% divs next to each other. I am attempting to center the divs vertically and I usually use this block of code to center things vertically/horizontally:
text-align: center;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
However, in this case it seems that my child divs green-grid-left
and green-grid-right
are not responding to the position: relative
of green
.
Can anyone tell me why my two divs are not aligning in the middle of each of their 50% blocks?
.green {
background-color: rgb(69,186,149); /*--Maybe this background: #00a16d; ---*/
width: 100%;
height: 400px;
position: relative;
}
#green-grid-left {
text-align: center;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
/*text-align: center;
margin: auto;*/
width: 50%;
height: 90%;
float: left;
}
#green-grid-left-description {
color: #FFF;
font-size: 2.3em;
}
#green-grid-right {
width: 50%;
height: 90%;
float: right;
}
#green-grid-right-description {
color: #FFF;
font-size: 2.3em;
}
<div class="green">
<div id="green-grid-left">
<div id="green-grid-left-description">Website problems?<br>
We handle everything for you.</div>
</div>
<div id="green-grid-right">
<div id="green-grid-right-description">Website problems?<br>
We handle everything for you.</div>
</div>
</div>
This is so much easier with flexbox:
.green {
background-color: rgb(69, 186, 149);
/*--Maybe this background: #00a16d; ---*/
width: 100%;
height: 400px;
position: relative;
display: flex;
justify-content: space-around;
align-items: center;
}
.green > div {
flex: 0 0 40%;
height: 90%;
border: 1px solid green;
text-align: center;
display: flex;
justify-content: space-around;
align-items: center;
}
#green-grid-left-description {
color: #FFF;
font-size: 2.3em;
}
#green-grid-right-description {
color: #FFF;
font-size: 2.3em;
}
<div class="green">
<div id="green-grid-left-description">Website problems?
<br>We handle everything for you.</div>
<div id="green-grid-right-description">Website problems?
<br>We handle everything for you.</div>
</div>