如何在div中放置图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在div中放置图像相关的知识,希望对你有一定的参考价值。

[我试图像在波纹管中一样将图像放在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>
答案

尝试this pen。我正在使用position: relative;元素上的top: -50px;img将其放置在卡的外部。

干杯!

另一答案

这是我会做的。将其居中对齐(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>
另一答案

如果使用边距,则需要注意:https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Box_Model/Mastering_margin_collapsing

块的topbottom边距有时被组合(折叠)为单个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>
另一答案

如果要对齐imagelabel,请尝试使用此选项,我在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>
另一答案

您可以使用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>

您可以在代码中的任何位置使用此方法。您不必再担心容器的高度或宽度。

以上是关于如何在div中放置图像的主要内容,如果未能解决你的问题,请参考以下文章

如何在div中放置图像

如何从 JFileChooser 中放置图像?

我如何在laravel中放置条件?

如何在包含系统图像的背景按钮中放置渐变?

在父 Div 中放置多个 Div(并排)

在 solr 3.4 中放置突出显示片段配置的位置