【问题标题】:Bootstrap card deck can't get card height to alignBootstrap 卡片组无法对齐卡片高度
【发布时间】:2020-06-14 06:41:42
【问题描述】:

我使用过 Bootstrap 的卡片组,但似乎无法使其垂直对齐。 其中一张卡片的文字较短并造成不匹配,不知道如何修复它..

我还应该提到,我希望在桌面和移动设备上的该页面上显示 3 张卡片,它垂直堆叠,因此我需要在我的 css 文件中留出额外的边距。

<div class="container mw-100 h-100">
    <div class="row h-100 align-items-center">
        <div class="col-12 col-md-6 col-lg-4 col-xl-4">
            <div class="card">
                <img class="card-img-top" src="img1.jpg" alt="img1" />
                <div class="card-body">
                    <h5 class="card-title">Title 1</h5>
                    <p class="card-text">
                        Lorem ipsum dolor sit amet consectetur adipisicing elit. Libero voluptas, vero voluptatibus odio nostrum facilis aut! Dolores, non accusamus. Sapiente et minus sint numquam. Labore laborum ut a commodi doloremque.
                    </p>
                    <p class="card-text">
                        <button type="button" class="btn btn-dark btn-lg" onclick="startGame()">Start</button>
                    </p>
                </div>
            </div>
        </div>
        <div class="col-12 col-md-6 col-lg-4 col-xl-4">
            <div class="card">
                <img class="card-img-top" src="img2.jpg" alt="img2" />
                <div class="card-body">
                    <h5 class="card-title">Title 2<span class="badge badge-secondary">New</span></h5>
                    <p class="card-text">
                        Lorem ipsum dolor sit amet consectetur adipisicing elit. Libero voluptas, vero voluptatibus odio nostrum facilis aut! Dolores, non accusamus. Sapiente et minus sint numquam. Labore laborum ut a commodi doloremque.
                    </p>
                    <p class="card-text">
                        <button type="button" class="btn btn-dark btn-lg">Start</button>
                    </p>
                </div>
            </div>
        </div>
        <div class="col-12 col-md-6 col-lg-4 col-xl-4">
            <div class="card">
                <img class="card-img-top" src="img3.jpg" alt="img3" />
                <div class="card-body">
                    <h5 class="card-title">Title 3<span class="badge badge-secondary">New</span></h5>
                    <p class="card-text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Libero voluptas, vero voluptatibus odio nostrum facilis aut! Dolores, non accusamus. Sapiente et minus sint numquam. Labore laborum ut a commodi doloremque.</p>
                    <p class="card-text">
                        <button type="button" class="btn btn-dark btn-lg">Start</button>
                    </p>
                </div>
            </div>
        </div>
    </div>
</div>

至于其他 css,只需要对齐容器本身的高度和一些边距以及常规的浏览器重置道具。

* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}
html,
body {
    height: 100%;
}

.card {
    margin-bottom: 0.75rem;
}

.row :first-child > .card {
    margin-top: 0.75rem;
}

【问题讨论】:

    标签: css twitter-bootstrap bootstrap-4


    【解决方案1】:

    这是因为您的项目与中心对齐 &lt;div class="row h-100 align-items-center"&gt; 将其更改为顶部 &lt;div class="row h-100 align-items-top"&gt; 这是在您的 html 的第二行。见这里:https://jsfiddle.net/wp406n8d/4/

    另外,你可以去掉这段代码:

    .row :first-child > .card {
        margin-top: 0.75rem;
    }
    

    我不完全确定你是否也想要这个,但你可以简单地将height: 100% 添加到.card 类中,使所有卡片的高度相同。见这里:https://jsfiddle.net/7ah6f4mo/

    【讨论】:

    • 忘了解释一些事情,抱歉 :( 我希望 3 张卡片成为页面的主要部分,因此它位于中间,准确地说是三个在一行中。在第一个小提琴我看不出它们是如何均匀的,较短的卡片仍然更短......我的css中的margin-top部分是为了让第一张卡片在移动设备上从顶部开始有一个边距,它变成垂直显示,所以除非你能建议我仍然需要的其他东西。我实际上尝试了卡片上的 100% 高度,但它没有用,我猜是因为它是居中的,但是里面的内容与其他内容不对齐。
    • @John13 好的,我想我明白了。为什么不对齐顶部的项目,而是为移动设备添加一个@media,这样当第一张卡片在移动视图中时,它会在第一张卡片的顶部提供边距,但如果不是,则完全对齐所有 3 个卡片。像这样:jsfiddle.net/oa9bgcsf
    • @John13 知道了。只需从容器 div 中删除 h-100。我认为这将解决您的问题。见这里:jsfiddle.net/xk8atpjL
    • @John13 作为对我上一条评论的回应,即从容器 div 中删除 h-100,然后您可以从 .card 类中删除 height: 100%,这将为您提供:jsfiddle.net/52hgk70d
    • @John13 然后在移动视图中使用@media 将高度更改为自动,如下所示:jsfiddle.net/69gLvt0m
    猜你喜欢
    • 2020-10-03
    • 2016-03-11
    • 2020-10-04
    • 2020-08-22
    • 2019-12-12
    • 2023-03-30
    • 2023-01-13
    • 2018-08-06
    • 1970-01-01
    相关资源
    最近更新 更多