html – Bootstrap 4 – 卡列中的响应卡

前端之家收集整理的这篇文章主要介绍了html – Bootstrap 4 – 卡列中的响应卡前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在玩Bootstrap 4,我找不到一个解决方案来增加对卡片的响应能力,而在一个div中使用class =“card-columns”(这个类对类似于砌体的效果应用于具有此类的div中的卡片)。

在Bootstrap 3中,它很容易设计并使“卡片”响应,因为可以将类似class =“col-md-3 col-sm-6 col-xs-12”的内容应用到包含缩略图标题等的div中。

在Bootstrap 4中使用卡时如何获得相同的效果

这是HTML:

  1. <body>
  2.  
  3. <div class="container-fluid">
  4. <div class="row">
  5.  
  6. <div class="col-md-4 hidden-sm-down" id="map_container">
  7. <p>here we put the map</p>
  8. </div>
  9.  
  10. <div class="col-md-8 col-sm-12 right_Box">
  11.  
  12. <div class="row">
  13.  
  14. // here there's code for navbar
  15.  
  16. </div><!-- row -->
  17.  
  18. <div class=row">
  19. <div class="card-columns">
  20. <?PHP
  21. // Create and check connection
  22.  
  23. if ($result->num_rows > 0) {
  24.  
  25. // output card design
  26. while($row = $result->fetch_assoc()) {
  27.  
  28. echo '<div class="card">
  29. <img class="card-img-top" src="dance' . $row["id"] . '.jpg" alt="' . $row["name"] . '">
  30. <div class="card-block">
  31. <h4 class="card-title">' . $row["name"] . '</h4>
  32. <p class="card-text">Text. Card content.</p>
  33. </div>
  34. <div class="card-footer text-muted">
  35. <ul class="list-inline">
  36. <li><i class="fa fa-user"></i></li>
  37. <li>14</li>
  38. </ul>
  39. </div>
  40. </div><!-- card -->';
  41. }
  42. } else {
  43. echo "0 results";
  44. }
  45.  
  46. $conn->close();
  47. ?>
  48. </div><!-- container card-columns -->
  49. </div><!-- row -->
  50. </div><!-- col-md-8 right_Box -->
  51. </div><!-- row -->
  52. </div><!-- container-fluid -->
  53. </body>

这是我用过的CSS:

  1. #map_container {
  2. background-image: url(map.png);
  3. height: 100vh;
  4. }
  5.  
  6. .right_Box {
  7. -webkit-Box-shadow: -2px 0px 2px 0px rgba(0,0.75);
  8. -moz-Box-shadow: -2px 0px 2px 0px rgba(0,0.75);
  9. Box-shadow: -2px 0px 2px 0px rgba(0,0.75);
  10. }
  11.  
  12. .card {
  13. border-radius: 0 !important;
  14. border: 0 none;
  15. -webkit-Box-shadow: 0px 2px 5px 0px rgba(0,0.5);
  16. -moz-Box-shadow: 0px 2px 5px 0px rgba(0,0.5);
  17. Box-shadow: 0px 2px 5px 0px rgba(0,0.5);
  18. margin-left: 1px;
  19. margin-right: 1px;
  20. }
  21.  
  22. .card-img-top {
  23. width: 100%;
  24. border-radius: 0 !important;
  25. }
  26.  
  27. .card-columns {
  28. padding-top: 15px;
  29. }

下面是两张图片,让我的情况更加清晰:

Large screen

Smaller screen

我希望卡片能够在较小的屏幕上垂直堆叠。

谢谢你的建议!

解决方法

Bootstrap 4(4.0.0-alpha.2)使用card-columns类中的css属性column-count来定义div元素内显示的卡列数。

但是这个属性只有两个值:

>小屏幕的默认值1(最大宽度:34em)
>所有其他尺寸的值3(最小宽度:34em)

以下是它在bootstrap.min.css中的实现方式:

  1. @media (min-width: 34em) {
  2. .card-columns {
  3. -webkit-column-count:3;
  4. -moz-column-count:3;
  5. column-count:3;
  6. }
  7. }

要使卡片堆叠响应,您可以将以下媒体查询添加到css文件中,并根据您的要求修改最小宽度值:

  1. @media (min-width: 34em) {
  2. .card-columns {
  3. -webkit-column-count: 2;
  4. -moz-column-count: 2;
  5. column-count: 2;
  6. }
  7. }
  8.  
  9. @media (min-width: 48em) {
  10. .card-columns {
  11. -webkit-column-count: 3;
  12. -moz-column-count: 3;
  13. column-count: 3;
  14. }
  15. }
  16.  
  17. @media (min-width: 62em) {
  18. .card-columns {
  19. -webkit-column-count: 4;
  20. -moz-column-count: 4;
  21. column-count: 4;
  22. }
  23. }
  24.  
  25. @media (min-width: 75em) {
  26. .card-columns {
  27. -webkit-column-count: 5;
  28. -moz-column-count: 5;
  29. column-count: 5;
  30. }
  31. }

猜你在找的HTML相关文章