Responsive design 引导v4卡固定在

Responsive design 引导v4卡固定在,responsive-design,bootstrap-4,Responsive Design,Bootstrap 4,我想在桌面设备上设置一个网格,每行3张w-50卡,在较小的设备上每行一张卡 但是,如果用户响应性地缩小浏览器窗口,我希望卡片在桌面上保持相同的宽度,并使它们之间的空间变小,而不是卡片本身变窄 此外,是否可以在桌面上使用w-50卡,但在较小的设备上使用w-75卡 示例代码: <div class="row"> <div class="col-sm-12 col-lg-4 " > <div class="card w-50 "> <

我想在桌面设备上设置一个网格,每行3张w-50卡,在较小的设备上每行一张卡

但是,如果用户响应性地缩小浏览器窗口,我希望卡片在桌面上保持相同的宽度,并使它们之间的空间变小,而不是卡片本身变窄

此外,是否可以在桌面上使用w-50卡,但在较小的设备上使用w-75卡

示例代码:

<div class="row">
  <div class="col-sm-12 col-lg-4 " >

    <div class="card w-50 ">

      <div class="card-header">
    Featured
  </div>
      <div class="card-body ">
        <h5 class="card-title">Special title treatment</h5>
        <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
        <a href="#" class="btn btn-primary">Go somewhere</a>
      </div>

    </div>
  </div>
  <div class="col-sm-12 col-lg-4">
    <div class="card w-50">
      <div class="card-header">
    Featured
  </div>
      <div class="card-body">
        <h5 class="card-title">Special title treatment</h5>
        <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
        <a href="#" class="btn btn-primary">Go somewhere</a>
      </div>
    </div>
  </div>
   <div class="col-sm-12 col-lg-4 ">
    <div class="card w-50">
      <div class="card-header">
    Featured
  </div>
      <div class="card-body">
        <h5 class="card-title">Special title treatment</h5>
        <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
        <a href="#" class="btn btn-primary">Go somewhere</a>
      </div>
    </div>
  </div>
</div>
答案很简单:没有 如果您希望在用户调整窗口大小时卡片保持不变,我认为使用.w-*是不可能的,因为整行的相对宽度百分比为100%。当用户调整窗口大小时,卡会收缩,除非您允许行溢出

出于同样的原因,我不知道你为什么/如何想到可以在桌面设备上连续拥有3张w-50卡。一行最多只能拥有2张w-50卡:100%/50%=2张

要使卡片尽可能保持相同的宽度,您可能必须使用绝对单位,如aspx或rem

较小设备上每行一张卡 这里需要注意的是,默认设置为100%宽度。您可以在每张卡片上添加边距,使其看起来更漂亮:

.卡片.卡片{ 边缘底部:1rem; } 较大设备上每行3张卡 我选择了更大的设备,比如576px和更大的。您可以在那里设置媒体断点,并将.cards显示为flexbox。并为里面的卡设置一个固定的

@介质最小宽度:576px{ .卡片{ 显示器:flex; flex-flow:行nowrap; 证明内容:之间的空间; } .卡片.卡片{ 宽度:13雷姆; } } 如何找到合适的宽度? 不过,设置正确的卡片宽度是很棘手的。我的2美分:您可能需要为不同的断点设置一个正确宽度的卡,这样卡之间就不会有太多的空间

如果允许溢出怎么办? 若要强制卡的宽度为50%,并将其中3张卡排成一行,则该行必须溢出。默认情况下,如果没有足够的空间,flexbox子项将收缩。要强制使用50%的宽度,必须通过设置“flex shrink:0;”将其关闭:

@介质最小宽度:576px{ .卡片{ 显示器:flex; flex-flow:行nowrap; 证明内容:之间的空间; } .卡片.卡片{ 宽度:50%; 弹性收缩:0; } } 但在这种情况下,卡与卡之间不可能还有间隙