【问题标题】:Elements are not properly contained in card-footer in Internet Explorer 11元素未正确包含在 Internet Explorer 11 的卡片页脚中
【发布时间】:2018-08-01 13:52:56
【问题描述】:

我创建了一个包含在Bootstrap 4 Card 中的表单,如下所示:

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet"/>

<div class="container">
    <div class="row card">
        <div class="col-12 card-body">
            Example text in the card body
        </div>

        <div class="col-12 card-footer">
            <div class="row">
                <div class="alert alert-warning col-12">Example alert box</div>
            </div>

            <div class="row form-group">
                <div class="col-6">
                    <button type="button" class="btn btn-block btn-primary">Save form</button>
                </div>
            </div>
        </div>
    </div>
</div>

通常的内容放在div.card-body 中,我在div.card-footer 中放置了一个警告框以及我的“保存表单”按钮。

这在 Chrome 63 和 Firefox 58 中有效。但是在 Internet Explorer 11 中,保存按钮和警报未正确包含在卡片页脚中,它们会溢出 div (screenshot)。

我该如何解决这个问题?

【问题讨论】:

    标签: html css internet-explorer flexbox bootstrap-4


    【解决方案1】:

    可以通过删除col-12 类来解决这个问题,我将它与card-footer 结合使用:

    <div class="col-12 card-footer">
    

    变成

    <div class="card-footer">
    

    Bootstrap 的 col-12 类添加了这个 CSS

    -ms-flex: 0 0 100%; 
    flex: 0 0 100%;
    

    div。切换这些 CSS 定义,或者将第三个参数 (flex-basis) 100% 替换为 auto 或固定值,似乎也可以解决这个特定问题,尽管我不确定为什么以及副作用是什么可能是。

    【讨论】:

    • 我猜自学者徽章正在等着你。我要带你上路! :-)
    • 如果使用了content-boxpadding 应该添加到高度,但显然没有。相反,它会折叠到padding 的大小,那么它为什么要这样做呢?
    • 此外,如果你从 100% 更改为 200px,它工作得很好,那么为什么会这样,如果 non-auto flex-basis 是原因?跨度>
    • @WebDevBooster 这不是一个正确的答案,删除 100% 有效,尽管原因与 content-box 无关(除非你可以回答/解释我上面评论的两个问题)
    • @LGSon 感谢您的 cmets。我想我在推理中误解了关于 Flexbug#7 的解释和效果的一些事情,我重新措辞/删除了该部分。
    猜你喜欢
    • 2016-09-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    • 1970-01-01
    • 1970-01-01
    • 2016-06-19
    • 1970-01-01
    • 2015-07-01
    相关资源
    最近更新 更多