简体   繁体   English

图像上的响应式 div

[英]Responsive div over image

How can I make a responsive div over a responsive image?如何在响应式图像上制作响应式 div?

I developed this code, however div does not fully accompany the image.我开发了这段代码,但是 div 并没有完全伴随图像。

Can anybody help me?有谁能够帮我?

codePen代码笔

HTML HTML

<div class="container-fluid first">
      <div class="row tab-pane Galeria">
        <div class="col-sm-2">
          <a class="d-block mb-4 h-100">
            <img class="Images img-fluid" src="https://source.unsplash.com/aob0ukAYfuI/400x300" alt="">
            <div class="ImageText"> Name</div>
          </a>
        </div>
        <div class="col-sm-2">
          <a class="d-block mb-4 h-100">
            <img class="Images img-fluid" src="https://source.unsplash.com/aob0ukAYfuI/400x300" alt="">
            <div class="ImageText"> Name</div>         
          </a>
        </div>
        <div class="col-sm-2">
          <a class="d-block mb-4 h-100">
            <img class="Images img-fluid" src="https://source.unsplash.com/EUfxH-pze7s/400x300" alt="">
            <div class="ImageText"> Name</div>
          </a>
        </div>
    </div>

Can you please check out this code, we done minor modification in html and css, we also add some bootstrap classes for better view of the elements.你能看看这段代码吗,我们在 html 和 css 做了一些小的修改,我们还添加了一些引导类以便更好地查看元素。 Hope it will work for you.希望它对你有用。

 .Galeria{ margin-top: 20px; }.image-item{ margin-bottom:20px; }.Images{ border-radius: .25rem; width: 100%; height: auto; border-radius: 8px; cursor: pointer; }.image-block{ position:relative; }.ImageText{ width: calc(100% - 20px); height: auto; background: #F0EDEB 0% 0% no-repeat padding-box; border-radius: 8px 8px 0px 0px; backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(50px); position: absolute; bottom: 0; left: 10px; padding: 10px; box-sizing: border-box; font-size: 16px; font-family: "Segoe UI"; }
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/> <div class="container-fluid first"> <div class="row tab-pane Galeria"> <div class="col-xl-2 col-lg-3 col-md-4 col-sm-6"> <div class="image-item"> <a class="d-block image-block h-100"> <img class="Images img-fluid" src="https://source.unsplash.com/aob0ukAYfuI/400x300" alt=""> <div class="ImageText"> Name</div> </a> </div> </div> <div class="col-xl-2 col-lg-3 col-md-4 col-sm-6"> <div class="image-item"> <a class="d-block image-block h-100"> <img class="Images img-fluid" src="https://source.unsplash.com/aob0ukAYfuI/400x300" alt=""> <div class="ImageText"> Name</div> </a> </div> </div> <div class="col-xl-2 col-lg-3 col-md-4 col-sm-6"> <div class="image-item"> <a class="d-block image-block h-100"> <img class="Images img-fluid" src="https://source.unsplash.com/EUfxH-pze7s/400x300" alt=""> <div class="ImageText"> Name</div> </a> </div> </div> <div class="col-xl-2 col-lg-3 col-md-4 col-sm-6"> <div class="image-item"> <a class="d-block image-block h-100"> <img class="Images img-fluid" src="https://source.unsplash.com/M185_qYH8vg/400x300" alt=""> <div class="ImageText"> Name</div> </a> </div> </div> <div class="col-xl-2 col-lg-3 col-md-4 col-sm-6"> <div class="image-item"> <a class="d-block image-block h-100"> <img class="Images img-fluid" src="https://source.unsplash.com/sesveuG_rNo/400x300" alt=""> <div class="ImageText"> Name</div> </a> </div> </div> <div class="col-xl-2 col-lg-3 col-md-4 col-sm-6"> <div class="image-item"> <a class="d-block image-block h-100"> <img class="Images img-fluid" src="https://source.unsplash.com/AvhMzHwiE_0/400x300" alt=""> <div class="ImageText"> Name</div> </a> </div> </div> </div> </div>

Maybe you can replace img tag with div which has image set as background.也许您可以将 img 标签替换为将图像设置为背景的 div。

Something like this:像这样的东西:

<div class="Images" style="background: url(https://source.unsplash.com/aob0ukAYfuI/400x300)">
   <div class="ImageText"> Name</div>
</div>

.Images {
   position: relative;
   background-size: cover !important;
   width: 90%; 
   height: 100%; 
   border-radius: 10px;
}
.ImageText {
   ...
   width: calc(100% - 46px) !important;
}

You can use the below CSS:您可以使用以下 CSS:

.Galeria a {
 position: relative;
}

.ImageText {
 left: 0;
 width: 100%;
 box-sizing: border-box;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM