Align Link To Bottom Of Card In Bootstrap 4
I would like to align links to the bottom center of cards. I tried adding the classes d-flex and flex-column to .card-body and mt-auto to the link, as suggested elsewhere. Note I'm
Solution 1:
The link is placed on the end with d-flex
and flex-column
on card-body
and mt-auto
on the link. On your CodePen you are missing some of these classes (example with classes)!
Note: You can find this example also on the official documentation of Bootstrap 4.
To center the links you can use the text-center
class on the card-link
.
<linkhref="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" /><divclass="row portfolio"><divclass="col-sm-12"><h2>Portfolio</h2></div><divclass="col-lg-4 col-sm-6 portfolio-item"><divclass="card h-100"><ahref="#"><imgclass="card-img-top"src="http://placehold.it/700x400"alt=""></a><divclass="card-body d-flex flex-column"><h4class="card-title">Project One</h4><pclass="card-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur eum quasi sapiente nesciunt? Voluptatibus sit, repellat sequi itaque deserunt, dolores in, nesciunt, illum tempora ex quae? Nihil, dolorem!</p><ahref="#"class="card-link text-info mt-auto text-center">View CodePen</a></div></div></div><divclass="col-lg-4 col-sm-6 portfolio-item"><divclass="card h-100"><ahref="#"><imgclass="card-img-top"src="http://placehold.it/700x400"alt=""></a><divclass="card-body d-flex flex-column"><h4class="card-title">Project Two</h4><pclass="card-text ">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.</p><ahref="#"class="card-link text-info mt-auto text-center">View CodePen</a></div></div></div><divclass="col-lg-4 col-sm-6 portfolio-item"><divclass="card h-100"><ahref="#"><imgclass="card-img-top"src="http://placehold.it/700x400"alt=""></a><divclass="card-body d-flex flex-column"><h4class="card-title">Project Three</h4><pclass="card-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quos quisquam, error quod sed cumque, odio distinctio velit nostrum temporibus necessitatibus et facere atque iure perspiciatis mollitia recusandae vero vel quam!</p><ahref="#"class="card-link text-info mt-auto text-center">View CodePen</a></div></div></div><divclass="col-lg-4 col-sm-6 portfolio-item"><divclass="card h-100"><ahref="#"><imgclass="card-img-top"src="http://placehold.it/700x400"alt=""></a><divclass="card-body d-flex flex-column"><h4class="card-title">Project Four</h4><pclass="card-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.</p><ahref="#"class="card-link text-info mt-auto text-center">View CodePen</a></div></div></div><divclass="col-lg-4 col-sm-6 portfolio-item"><divclass="card h-100"><ahref="#"><imgclass="card-img-top"src="http://placehold.it/700x400"alt=""></a><divclass="card-body d-flex flex-column"><h4class="card-title">Project Five</h4><pclass="card-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.</p><ahref="#"class="card-link text-info mt-auto text-center">View CodePen</a></div></div></div><divclass="col-lg-4 col-sm-6 portfolio-item"><divclass="card h-100"><ahref="#"><imgclass="card-img-top"src="http://placehold.it/700x400"alt=""></a><divclass="card-body d-flex flex-column"><h4class="card-title">Project Six</h4><pclass="card-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Itaque earum nostrum suscipit ducimus nihil provident, perferendis rem illo, voluptate atque, sit eius in voluptates, nemo repellat fugiat excepturi! Nemo, esse.</p><ahref="#"class="card-link text-info mt-auto text-center">View CodePen</a></div></div></div></div>
Solution 2:
Add this css, it will work
.card-body {
display: flex;
flex-direction: column;
}
.card-link {
margin-top: auto;
}
Solution 3:
An alternative solution
You can align the link at the bottom of the card-body
by following these three steps:
- Apply the
d-flex
andflex-column
classes tocard-body
- Wrap all the content of
card-body
in adiv
. - Use
flex: 1 1 auto
on this newdiv
Doing so, the newly created div
always takes all the available space. Hence, the link is always at the bottom of the card-body
.
.flex-grow {
flex: 11 auto;
}
<divclass="card-body d-flex flex-column"><divclass="flex-grow"><h4class="card-title">Project One</h4><pclass="card-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur eum quasi sapiente nesciunt? Voluptatibus sit, repellat sequi itaque deserunt, dolores in, nesciunt, illum tempora ex quae? Nihil, dolorem!</p></div><ahref="#"class="card-link text-info mt-auto">View CodePen</a></div>
Check this pen on CodePen
FYI, You can make an element occupy all the available space using this method.
Post a Comment for "Align Link To Bottom Of Card In Bootstrap 4"