首页
学习
活动
专区
圈层
工具
发布

自举v4卡
EN

Stack Overflow用户
提问于 2019-05-14 18:41:41
回答 1查看 35关注 0票数 0

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

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

另外,是否有可能在桌面上使用w-50,而在较小的设备上使用w-75。

样本代码:

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-14 21:05:23

简单回答:不

如果当用户调整窗口大小时,希望卡片保持不变,我认为.w-*是不可能的,因为这是整个行的相对百分比宽度为100%。除非允许行溢出,否则当用户调整窗口大小时,卡片将缩小。

出于同样的原因,我不知道为什么/怎么会想到在桌面设备上可以连续使用3张w-50卡。您可以在一行中拥有的w-50卡的最大数量仅为2: 100% / 50% = 2。

要使卡片尽可能地保持相同的宽度,您可能必须使用绝对单元,例如pxrem

代码语言:javascript
复制
<div class="cards">
    <div class="card"></div>
    <div class="card"></div>
    <div class="card"></div>
</div>

在较小设备上每行一张卡

这里需要注意的是,在默认情况下,<div>设置为100%宽度。你可以在每一张卡片上加空白处,让它们看起来很好看:

代码语言:javascript
复制
.cards .card {
    margin-bottom: 1rem;
}

大型设备上每行3张卡

我把较大的设备作为576 as和大。您可以在那里设置媒体断点,并将.cards显示为柔性盒。为里面的卡片设置一个固定的with。

代码语言:javascript
复制
@media (min-width: 576px) {
    .cards {
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
    }
    
    .cards .card {
        width: 13rem;
    }
}

https://jsfiddle.net/davidliang2008/woxsv4nm/24/

怎么才能达到合适的宽度呢?

但是,设置正确的卡片宽度是很棘手的。我的2美分:你可能想为不同的断点设置一个正确的宽度,这样在卡之间就不会有太多的空间。

如果允许溢出怎么办?

若要强制卡片宽度为50%,并将其中3张牌排在一列,则行必须溢出。默认情况下,如果没有足够的空间,柔性盒子程序就会缩小。要强制执行50%的宽度,必须通过设置flex-shrink: 0;来关闭该宽度

代码语言:javascript
复制
@media (min-width: 576px) {
    .cards {
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
    }
    
    .cards .card {
        width: 50%;
        flex-shrink: 0;
    }
}

https://jsfiddle.net/davidliang2008/woxsv4nm/26/

但是在这种情况下,你不可能在卡片之间还有空隙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56136648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档