0

I have div with 3 columns, I've centered text horizontally but I have no idea how to center text vertically. I tried to use vertical-align but it didn't help.

.row {
  margin: auto;
  width: 90%;
  height: 100px;
  background-color: #c42747;
  opacity: 90%;
  border-radius: 10px;
}

.column {
  float: left;
}

.side {
  text-align: center;
  font-size: 25px;
  width: 25%;
}

.middle {
  font-size: 18px;
  font-weight: 300;
  width: 50%;
}
<div class="row">
  <div class="column side">TEXT</div>
  <div class="column middle">MORE TEXT</div>
  <div class="column side"><button>MORE</button></div>
</div>

This is how I have it right now.

isherwood
  • 58,414
  • 16
  • 114
  • 157
polluxik
  • 33
  • 5

1 Answers1

3

Add display: flex and align-items: center to your container (parent).

Note: using float is not a good idea at all, read more about flexbox.

.row {
  margin: auto;
  width: 90%;
  height: 100px;
  background-color: #c42747;
  opacity: 90%;
  border-radius: 10px;
  display: flex;
  align-items: center;
}

.column {
  float: left;
}

.side {
  text-align: center;
  font-size: 25px;
  width: 25%;
}

.middle {
  font-size: 18px;
  font-weight: 300;
  width: 50%;
}
<div class="row">
  <div class="column side">TEXT</div>
  <div class="column middle">MORE TEXT</div>
  <div class="column side"><button>MORE</button></div>
</div>
isherwood
  • 58,414
  • 16
  • 114
  • 157
Ahmed Tag Amer
  • 1,381
  • 1
  • 8
  • 21