Bootstrap 4 可折叠卡片 - 断断续续的动画

Posted

技术标签:

【中文标题】Bootstrap 4 可折叠卡片 - 断断续续的动画【英文标题】:Bootstrap 4 Collapsible Card - Choppy Animation 【发布时间】:2016-02-11 15:03:55 【问题描述】:

我正在使用 Bootstrap 4 并创建了一张带有 .card-header 和 .card-block 的卡片,如下所示:

<div class="card">
    <div class="card-header">
        <a data-toggle="collapse" href="#test-block" aria-expanded="true" aria-controls="test-block">
            card header
        </a>
    </div>
    <div id="test-block" class="card-block">
        card block
    </div>
</div>

我希望能够单击卡片标题来切换卡片块。我尝试过使用 Bootstrap 的折叠机制(您会注意到卡片标题中的data-toggle="collapse")。它可以工作 - 但动画非常不稳定。

我不知道为什么。 Here's an example on codepen.

【问题讨论】:

【参考方案1】:

滞后问题:

问题在于 .card-block 类,它默认添加了 1.25rem 的填充。

如果您要从 div#test-block 中删除 class card-block,并在里面创建一个带有 class card-block 的 div(这样您就可以保留所需的填充),那么滞后问题就会消失。

点击问题:

您的#test-block 上没有带有collapse 的类,因此需要先添加它。这就是为什么它在第二次尝试时有效。

如果你将一个名为“collapse”的类添加到 div#test-block,你的滞后问题就会消失。

如果您希望面板默认打开,请添加“in”类。例如“塌陷”。

我有以下代码:

<div class="card">
    <div class="card-header">
        <a data-toggle="collapse" href="#test-block" aria-expanded="true" aria-controls="test-block">
            card header
        </a>
    </div>
    <div id="test-block" class="collapse">
        <div class="card-block">
            card block
        </div>
    </div>
</div>

【讨论】:

不错的解决方案。此外,添加collapse in 类以默认情况下已打开块也会很有用。 做到了!我将 .card-block 设置为 padding: 0,并添加了一个 div.card-block-content 来代替填充。 @RashadIbrahimov - 如果你希望它默认打开,是的。就我而言,我实际上没有。【参考方案2】:

这可能是 bootstrap 4 仍处于 alpha 阶段的原因。它可能会修复。

我找到的唯一解决方案是通过添加类 collapse 来折叠您的 card-block,然后通过 css 删除他的填充:

.card-block padding:0; 

【讨论】:

【参考方案3】:

#test-block 具有默认状态:

    <div id='test-block' class='card block'>

当类更改为扩展版本时单击

    <div id='test-block' class="card-block collapse in" aria-expanded="true">

所以 div 没有正确的默认状态。更改状态以反映 collapse inaria-expanded=true,它应该只需要单击 1 次。

我不知道为什么动画会断断续续。 :(

【讨论】:

以上是关于Bootstrap 4 可折叠卡片 - 断断续续的动画的主要内容,如果未能解决你的问题,请参考以下文章

Bootstrap 4:手风琴不会折叠卡片

带有预览和溢出扩展的 Bootstrap 4 折叠面板

如何在 django 模板的引导程序中创建可折叠卡片?

如何在 HTML/Bootstrap 4 中使用变量作为选择器?

bootstrap中分页面包屑导航列表组卡片下拉菜单折叠

bootstrap 4中的堆叠可折叠导航栏