【问题标题】:How can I make a div be responsive within another responsive div without media queries?如何在没有媒体查询的情况下使 div 在另一个响应式 div 中响应?
【发布时间】:2020-10-10 22:38:17
【问题描述】:

我有一个响应式的方形 div(在所有设备中它仍然是一个方形)。我需要在其中添加另一个 div,并且我也需要它具有响应性。我没有以任何方式实现这一点,我认为我不需要为此进行媒体查询。我显然做错了什么,但无法固定它。

这是我需要达到的目标:

这是我的代码或我的Codepen

.image-exists {
        width: 100%;
        padding-bottom: 100%;
        background-size: cover;
        background-position: center;
        background-image: url(https://icatcare.org/app/uploads/2018/07/Finding-homes-for-your-kittens-1.png);
        border: 2px solid #8ABE57;
        border-radius: 0.25rem;
    }

    .cover-image-flag:before {
        content: "Text here";
        position: absolute;
        bottom: 0;
    left:0;
        background: #8ABE57;
        padding: 5px;
    text-align: center;
    font-size: 1em;
    width: 100%;
    }
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.min.css" rel="stylesheet"/> 
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.1/css/all.min.css" rel="stylesheet"/>   
<div class="col-lg-4 col-md-4 col-sm-5 col-xs-6 col-6 img-holder cover-image-flag">
  <a href="#" class="delete-img-button">
    <i class="fas fa-circle fa-stack-2x delete-img-circle"></i>
    <i class="fas fa-times fa-stack-1x delete-img-icon"></i>
  </a>
  <div class="image-exists"></div>
</div>

【问题讨论】:

    标签: html css bootstrap-4 responsive


    【解决方案1】:

    您可以简单地在一个div 中创建两个divs 并执行以下操作:

    .img-holder {
      background: #8ABE57;
      padding: 4px;
      border-radius: 0.35rem;
    }
    
    .image-exists {
            position:relative;
            width: 100%;
            padding-bottom: 100%;
            background-size: cover;
            background-position: center;
            background-image: url(https://icatcare.org/app/uploads/2018/07/Finding-homes-for-your-kittens-1.png);
            
        }
    .cover-image-text {  
        text-align: center;
        color: #fff;
        width: 100%;
        background: #8ABE57;
        font-size: 24px;
        position: absolute;
        bottom:0px;
        padding: 1px;
    }
    <div class="col-12">
    
    <div class="col-lg-2 col-md-2 col-sm-2 col-xs-2 col-2 img-holder cover-image-flag">
      <a href="#" class="delete-img-button">
        <i class="fas fa-circle fa-stack-2x delete-img-circle"></i>
        <i class="fas fa-times fa-stack-1x delete-img-icon"></i>
      </a>
      <div class="image-exists">
        <div class="cover-image-text">Test</div>
      </div>
      
    </div>
      
    </div>

    【讨论】:

    • 这行得通。绿色背景来自哪里?
    • 如您所见,我已将其添加到 .img-holder 类中。
    • 我明白了。我不确定这个解决方案是否有效,因为我的网站上有这个结构:imgur.com/th94Gjc,你可以看到所有的 div 都是平方的,我需要在其中添加一个文本。所以我不能有绿色背景。有什么想法吗?
    • 然后你可以简单地移除背景,并在你需要的地方添加。这不会影响结构。
    • 好的,我会尝试并告诉你:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-11
    • 2015-07-24
    • 1970-01-01
    • 2016-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多