0

I'm trying to vertically center my column content.

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">

<div class="container d-flex h-100">
  <div class="row mt-5 ">
    <div class="col-sm-7 about-us">
      <div class="row h-100 justify-content-center align-items-center">
        <h3 class="display-3 strong ">
          {{ __('Message From Chief ') }}
        </h3>
        <p>
          {{ __('This is a sample text') }}
        </p>
      </div>
    </div>
    <div class="col-sm-4">
      <img src="{{asset('img/user.jpg') }}" class="img img-fluid" alt="">
    </div>
  </div>
</div>


<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>

But when I tried the above code it is giving me a massive gap in between the heading and para.

So how can I properly align my texts vertically center and where am I doing wrong here

I'm using Bootstrap 4 and Laravel.

Nisharg Shah
  • 16,638
  • 10
  • 62
  • 73
Volka Dimitrev
  • 337
  • 4
  • 15
  • 38

2 Answers2

1

Just add min-vh-100 in your .container class and add align-content-center in your row class.

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">

<div class="container d-flex min-vh-100">
  <div class="row">
    <div class="col-sm-7 about-us">
      <div class="row h-100 justify-content-center align-items-center align-content-center flex-column">
        <h3 class="display-3 strong ">Message From Chief</h3>
        <p>This is a sample text</p>
      </div>
    </div>
    <div class="col-sm-4">
      <img src="{{asset('img/user.jpg') }}" class="img img-fluid" alt="">
    </div>
  </div>
</div>

<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
Nisharg Shah
  • 16,638
  • 10
  • 62
  • 73
0

Just add .h-100 in your .container class , add .h-100 in your row class and add .my-auto in your col class.

<div class="container h-100">
  <div class="row h-100">
    <div class="col-sm-7 about-us my-auto">
      <div class="row h-100 justify-content-center align-items-center">
        <h3 class="display-3 strong ">
          {{ __('Message From Chief ') }}
        </h3>
        <p>
          {{ __('This is a sample text') }}
        </p>
      </div>
    </div>
    <div class="col-sm-4">
      <img src="{{asset('img/user.jpg') }}" class="img img-fluid" alt="">
    </div>
  </div>
</div>
Mr Perfect
  • 334
  • 1
  • 2
  • 12