Как разместить изображение внутри div - PullRequest
1 голос
/ 14 февраля 2020

Я пытаюсь поместить изображение поверх моего div, как на картинке ниже, но мне сложно понять, что не так с моим css.

enter image description here

#testimonials-cards-container {
    margin: 0;
    width: 95%;
    margin-left: 43px;
}

.testimonials-cards {
    box-shadow: 2px 4px 30px rgba(0, 0, 0, 0.25);
    border-radius: 30px;
    margin: 50px 26px 33px 27px;
    height: 337px;
}

#testimonials-cards-container .testimonials-cards img{
    width: 200px;
    display: table;
    margin: 10px auto;
}
<div class="sectionSeven">
        <div id="testimonials-cards-container" class="owl-carousel owl-theme">
            <div class="testimonials-cards">
                <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Circle_-_black_simple.svg/1200px-Circle_-_black_simple.svg.png
" alt="">
                <h1>test</h1>
            </div>
          
        </div>
    </div>

Ответы [ 5 ]

2 голосов
/ 14 февраля 2020

Вот как бы я это сделал. Выровняйте его по центру (text-align:center), затем отмените верхнее поле на половину размера изображения (плюс дополнительные 50 для дополнительного заполнения).

#testimonials-cards-container {
    margin: 0;
    width: 95%;
    margin-left: 43px;
}

.testimonials-cards {
    box-shadow: 2px 4px 30px rgba(0, 0, 0, 0.25);
    border-radius: 30px;
    margin: 150px 26px 33px 27px;
    height: 337px;
    text-align:center;
}

#testimonials-cards-container .testimonials-cards img{
    width: 200px;
    margin-top:-100px;
}
<div class="sectionSeven">
        <div id="testimonials-cards-container" class="owl-carousel owl-theme">
            <div class="testimonials-cards">
                <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Circle_-_black_simple.svg/1200px-Circle_-_black_simple.svg.png
" alt="">
                <h1>test</h1>
            </div>
          
        </div>
    </div>
1 голос
/ 14 февраля 2020

Попробуйте эту ручку . Я использую position: relative; и top: -50px; на элементе img, чтобы расположить его вне карты.

Ура!

1 голос
/ 14 февраля 2020

Если вы используете маржу, вам нужно помнить: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Box_Model/Mastering_margin_collapsing

Поля top и bottom блоков иногда объединяются (сворачиваются) в single margin, размер которого является наибольшим из отдельных полей (или только одного из них, если они равны), поведение, известное как коллапс поля. Обратите внимание, что поля плавающих и абсолютно позиционированных элементов никогда не сжимаются.

Вот пример использования padding:

#testimonials-cards-container {
    margin: 0;
    width: 95%;
    margin-left: 43px;
    margin-top:150px;
}

.testimonials-cards {
    box-shadow: 2px 4px 30px rgba(0, 0, 0, 0.25);
    border-radius: 30px;
    margin: 50px 26px 33px 27px;
    height: 337px;
    padding:0.01px;/* collapsing margin */
}

#testimonials-cards-container .testimonials-cards img{
    width: 200px;
    display: block;
    margin: -100px auto 0;
}
<div class="sectionSeven">
        <div id="testimonials-cards-container" class="owl-carousel owl-theme">
            <div class="testimonials-cards">
                <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Circle_-_black_simple.svg/1200px-Circle_-_black_simple.svg.png
" alt="">
                <h1>test</h1>
            </div>
          
        </div>
    </div>
0 голосов
/ 14 февраля 2020

Вы можете использовать flex, чтобы выровнять тексты по центру и позиционировать абсолютно, чтобы выровнять изображение. Css Код

        #testimonials-cards-container {
        position: relative;
        margin: 0;
        width: 95%;
        margin-left: 43px;
    }

    .testimonials-cards {
        box-shadow: 2px 4px 30px rgba(0, 0, 0, 0.25);
        border-radius: 30px;
        margin: 50px 26px 33px 27px;
        height: 337px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    #testimonials-cards-container .testimonials-cards img{
        position: absolute;
        top: -50%;
        left: 50%;
        width: 200px;
        display: table;
        margin: 10px auto;
        transform: translate(-50%, 30%);
        z-index: 2;
    }

Html Код

        <div class="sectionSeven">
            <div id="testimonials-cards-container" class="owl-carousel owl-theme">
                <div class="testimonials-cards">
                    <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Circle_-_black_simple.svg/1200px-Circle_-_black_simple.svg.png
    " alt="">
                    <h1>test</h1>
                </div>

            </div>
        </div>

Вы можете использовать этот подход в любом месте кода. Вам больше не нужно беспокоиться о высоте или ширине контейнера.

0 голосов
/ 14 февраля 2020

Попробуйте это, если хотите выровнять свои image и label, я добавил еще div.credential-holder с display: inline-grid для отображения содержимого в формате сетки и margin-top: -100px для наложения изображения сверху.

#testimonials-cards-container {
    margin: 0;
    width: 95%;
    margin-left: 43px;
}

.testimonials-cards {
    box-shadow: 2px 4px 30px rgba(0, 0, 0, 0.25);
    border-radius: 30px;
    height: 337px;
    margin-top: 100px; /*add this 100px to fill in -100px from div.credential-holder*/
    text-align: center;
}

.credential-holder{
  margin-top: -100px;
  display: inline-grid;
}

#testimonials-cards-container .testimonials-cards img{
    width: 200px;
}
<div class="sectionSeven">
        <div id="testimonials-cards-container" class="owl-carousel owl-theme">
            <div class="testimonials-cards">
                <div class="credential-holder">
                    <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Circle_-_black_simple.svg/1200px-Circle_-_black_simple.svg.png
" alt="">
                    <h1>Test, Test</h1>
                </div>
            </div>
        </div>
    </div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...