Выравнивание Div по нижней части интерактивной флип-карты (Bootstrap 4) - PullRequest
0 голосов
/ 01 мая 2020

У меня есть интерактивная карта с перекидными изображениями, созданная с использованием bootstrap и js. У меня есть некоторая информация на обороте карты, заголовок, основной текст, а затем несколько маленьких кусочков дополнительной информации. Я бы хотел, чтобы эти 3 маленьких фрагмента дополнительной информации были выровнены по нижней части карты. Я завернул их в div и попытался добавить класс "align-self-end", однако это не сработало.

Вот html для моей карты:

        <div class="card mb-4" style="max-width: 300px; min-width: 300px" data-clickable="true">
          <div class="card-inner">
            <img src="https://via.placeholder.com/1420x1933" class="card-img" alt="...">
            <div class="card-img-overlay">
              <h5 class="card-title">Card Title</h5>
              <p class="card-text info">This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
                <div class="align-self-end">
                    <p class="card-text smallinfo"><b>1: </b>John</p>
                    <p class="card-text smallinfo"><b>2: </b>Smith</p>
                    <p class="card-text smallinfo"><b>3: </b>2008</p>
                </div>
            </div>
          </div>
        </div>

Вот кодовая ручка (нажмите на карточку, чтобы перевернуть ее): https://codepen.io/Darlton29/pen/wvKqyBN

Мне бы хотелось, чтобы три тега <p> внутри тега <div> находились внизу карты. Любая помощь высоко ценится, спасибо.

Ответы [ 2 ]

1 голос
/ 01 мая 2020

Хорошо, что вы завернули его в.

Вам нужно было только добавить этот кусок css.

.align-self-end {position:absolute;bottom:0}
1 голос
/ 01 мая 2020

Я только что изменил пару вещей в вашей HTML разметке и добавил дополнительный CSS код

<div class="container">
    <h2 style="margin-bottom: 3rem; margin-top: 1rem;">Align right in Bootstrap 4</h2>
    <div class="card mb-4" style="max-width: 300px; min-width: 300px" data-clickable="true">
        <div class="card-inner">
            <img src="https://via.placeholder.com/1420x1933" class="card-img" alt="...">
            <div class="card-img-overlay">
                <div class="cardContent">
                    <h5 class="card-title">Card Title</h5>
                    <p class="card-text info">This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
                </div>
                <div class="alignToEnd">
                    <p class="smallinfo"><b>1: </b>John</p>
                    <p class="smallinfo"><b>2: </b>Smith</p>
                    <p class="smallinfo"><b>3: </b>2008</p>
                </div>
            </div>
        </div>
    </div>
</div>

<style>
    .card{
        width: 300px;
        min-height: 408px;
        -webkit-perspective: 1000px;
        perspective: 1000px;
        border: 0px;
        background-color: #fff;
        -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.0), 0 15px 40px rgba(0, 0, 0, 0.0);
        box-shadow: 0 5px 10px rgba(0, 0, 0, 0.0), 0 15px 40px rgba(0, 0, 0, 0.0);
    }
    .card-inner {
        position: relative;
        width: 100%;
        height: 100%;
        text-align: left;
        -webkit-transition: -webkit-transform 0.6s;
        transition: -webkit-transform 0.6s;
        -o-transition: transform 0.6s;
        transition: transform 0.6s;
        transition: transform 0.6s, -webkit-transform 0.6s;
        -webkit-transform-style: preserve-3d;
        transform-style: preserve-3d;
    }
    .card-title {
        text-align: center;
        font-size: 1.7rem;
    }
    .info{
        font-size: 0.9rem;
    }
    .isbn {
        text-align: left;
    }
    .card.active .card-inner {
        -webkit-transform: rotateY(180deg);
        transform: rotateY(180deg);
    }
    .card img, .card-img-overlay {
        position: absolute;
        width: 100%;
        height: 100%;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        top:0;left:0;right:0;
    }
    .card-img-overlay {
        -webkit-transform: rotateY(180deg);
        transform: rotateY(180deg);
        background:#444c43;
        color:white;
        position:relative;
    }
    .cardContent {
        padding-bottom:60px;
    }
    .alignToEnd {
        position:absolute;
        bottom:0;
        left:0;
        width:100%;
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-align:center;
        -ms-flex-align:center;
        align-items:center;
        -webkit-box-pack:center;
        -ms-flex-pack:center;
        justify-content:center;
    }
    .alignToEnd > * {
        width: 100%;
        dispaly:flex;
        -webkit-box-align:center;
        -ms-flex-align:center;
        align-items:center;
        -webkit-box-pack:center;
        -ms-flex-pack:center;
        justify-content:center;
        text-align:center;
    }
</style>
...