bootstrap 5 card how to avoid large layout shifts

Here are several methods to avoid layout shifts with Bootstrap 5 cards:

  1.Use aspect ratio containers for images:

1
2
3
4
5
6
7
8
<div class="card">
  <div class="ratio ratio-16x9">
    <img src="image.jpg" class="card-img-top" style="object-fit: cover;" alt="...">
  </div>
  <div class="card-body">
    <!-- content -->
  </div>
</div>

  2.Use aspect ratio containers for images:

1
2
3
4
5
6
<div class="card">
  <img src="image.jpg" class="card-img-top" style="height: 200px; object-fit: cover;" alt="...">
  <div class="card-body">
    <!-- content -->
  </div>
</div>

  3.Set fixed height for card bodies:

1
2
3
4
5
6
<div class="card">
  <img src="image.jpg" class="card-img-top" alt="...">
  <div class="card-body" style="height: 150px;">
    <!-- content -->
  </div>
</div>

  4.Use CSS classes for consistent heights:

1
2
3
4
5
6
7
8
9
10
11
12
13
.card {
  height: 100%;
}
 
.card-img-top {
  height: 200px;
  object-fit: cover;
}
 
.card-body {
  height: 150px;
  overflow-y: auto;
}

  5.Use placeholder elements while loading:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<div class="card">
  <div class="placeholder-glow">
    <div class="placeholder" style="height: 200px;"></div>
  </div>
  <div class="card-body">
    <h5 class="card-title placeholder-glow">
      <span class="placeholder col-6"></span>
    </h5>
    <p class="card-text placeholder-glow">
      <span class="placeholder col-7"></span>
      <span class="placeholder col-4"></span>
      <span class="placeholder col-4"></span>
    </p>
  </div>
</div>

  

posted @   ytkah  阅读(14)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2016-01-11 博客没内容可写了怎么办?找BD!
2014-01-11 Yahoo News Digest(雅虎新闻摘要)APP的推出,未来的seo界又要受伤了
网址导航 gg N / G Sitemap

部分内容来源于网络,如有版权问题请联系删除

  
点击右上角即可分享
微信分享提示