CSS 图像扩展超过父 div 大小

新手上路,请多包涵

标题说明了大部分内容。我的网页:

 <div class="wrap">
 <div class="s-inner">
  <figure>
   <img>
  </figure>
 </div>
</div>

CSS:

 .wrap{
 max-width:500px;
 max-height:200px;
 background:red;
 }
.s-inner{
position: relative;
margin: inherit;
padding:inherit;
display: -webkit-flex;
display: flex;
max-height: 100%;
max-width: 100%;
box-sizing:inherit;
margin:auto;
}
/*            Inside             */
.s-inner > figure{
  display: block;
  margin: 0 auto 0 auto;
  box-sizing: border-box;
}
  .s-inner > figure > img{
    box-sizing: border-box;
    max-width: 100%;
    max-height: 100%;
}

如果您检查 .wrap div,您会注意到图像弹出并且比 div 大,如何修复图像以缩放 .wrap div 大小。 小提琴

原文由 August 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 434
2 个回答

当您拥有的图像大于分区时..图像无法放入其中。所以你还必须为图像设置宽度和高度

  .s-inner > figure > img {
     height: 196px;
     box-sizing: border-box;
     max-width: 100%;
     max-height: 100%;
     width: 500px;
       }

或响应方式

 .s-inner > figure > img {
height: 100%;
box-sizing: border-box;
max-width: 100%;
max-height: 100%;
width: 100%;
 }

原文由 Krishna Kamal 发布,翻译遵循 CC BY-SA 3.0 许可协议

尝试将 overflow: hidden 添加到您的 wrap div 并将 width: 100%; 添加到子 div。

CSS:

 .wrap{
  max-width:500px;
  max-height:200px;
  background:red;
  overflow: hidden;
}
.s-inner{
    position: relative;
    display: -webkit-flex;
    display: flex;
    height: auto;
    width: 100%;
    box-sizing:inherit;
    margin:auto;
  }
/*            Inside             */
    .s-inner > figure{
      display: block;
      margin: 0 auto 0 auto;
      box-sizing: border-box;
    }
      .s-inner > figure > img{
        box-sizing: border-box;
        width: 100%;
        height: auto;
    }

小提琴: https ://jsfiddle.net/3uvpt3ta/7/

原文由 DebRaj 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题