t3zr149FA
t3zr149FA

Reputation: 37

How to move the button on bootstrap 4 card header always to be right ( responsive and desktop )?

I have the following code for a refresh button on a bootstrap 4 card header

<div class="animated fadeIn">
    <div class="row">
        <div class="col-lg-12">
          <div class="card">
            <div class="card-header">              
              <div class="row">
                <div class="col-6 col-sm-4 col-md-2 col-xl mb-3 mb-xl-0">                   
                    <button type="button" class="btn btn-success mr-1" data-toggle="modal" (click)="refresh()">
                      <i class="fa fa-align-justify"></i>
                      </button>
                </div>
              </div>    
            </div>
            <div class="card-body">

                <!-- other markup -->
            </div>
        </div> <!-- ./ card -->
        </div> <!-- ./ col-lg-12 -->
    </div> <!-- ./ row -->
</div> <!-- ./ animated fadeIn --> 

But this button remains on the left side on desktop as well as in mobile mode, but i how do i make this button stays on the right side always on desktop mode as well as mobile mode this should support chrome, firefox and edge

enter image description here

Upvotes: 0

Views: 563

Answers (1)

Ezra Siton
Ezra Siton

Reputation: 7781

You find a lot of ways to solve this issue. I added two examples.

"structure": One flex wrapper (orange border) and two cols inside (red border)

enter image description here

A. justify-content-between

By flexbox and justify-content-between

<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" rel="stylesheet"/>
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

  <div class="animated fadeIn">
    <div class="row">
      <div class="col-lg-12">
        <div class="card">
          <div class="card-header"> 
            <div class="d-flex justify-content-between">
              <h2>
                Featured Featured Featured Featured Featured Featured very long text
              </h2>
              <div>                   
                <button type="button" class="btn btn-success mr-1" data-toggle="modal" (click)="refresh()">
                  <i class="fa fa-align-justify"></i>
                </button>
              </div>
            </div>    
          </div>
          <div class="card-body">
            <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
            <a href="#" class="btn btn-primary">Go somewhere</a>
          </div>
        </div> <!-- ./ card -->
      </div> <!-- ./ col-lg-12 -->
    </div> <!-- ./ row -->
  </div> <!-- ./ animated fadeIn --> 
  <!-- Optional JavaScript -->
  <!-- jQuery first, then Popper.js, then Bootstrap JS -->
  <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>

B. Flex and margin-left auto col

Flex wrapper & add margin-left auto for the icon col:

enter image description here

<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" rel="stylesheet"/>
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

  <div class="animated fadeIn">
    <div class="row">
      <div class="col-lg-12">
        <div class="card">
          <div class="card-header"> 
            <div class="d-flex">
              <h2>
                Featured Featured Featured Featured Featured Featured very long text
              </h2>
              <div class="ml-auto">                   
                <button type="button" class="btn btn-success mr-1" data-toggle="modal" (click)="refresh()">
                  <i class="fa fa-align-justify"></i>
                </button>
              </div>
            </div>    
          </div>
          <div class="card-body">
            <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
            <a href="#" class="btn btn-primary">Go somewhere</a>
          </div>
        </div> <!-- ./ card -->
      </div> <!-- ./ col-lg-12 -->
    </div> <!-- ./ row -->
  </div> <!-- ./ animated fadeIn --> 
  <!-- Optional JavaScript -->
  <!-- jQuery first, then Popper.js, then Bootstrap JS -->
  <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
  
  


Upvotes: 1

Related Questions