css - 调整内部图像大小时如何自动调整容器宽度?

标签 css

我有一个问题,为了清楚起见,我将在此处简化(这真的让我很沮丧)。

我有一个容器,里面有两个 div(一个里面有一个图像,它会被调整大小),像这样:

HTML

<div id="container">

<div id="block1">

    <img src="images/clank.png">

</div>

<div id="block2">

</div>

</div>

CSS

#container {
height:350px;
background-color: #000

}

img {

max-width: 60%;
height: auto;

}

#block1 {
background-color: #fff;
float:left;
height:auto;
width: auto;
border-style: solid;
border-width: 1px;
border-color: #000;
}

#block2 {
background-color: #456545; 
height:100%;
overflow: hidden;
}

Here is an image with the problem

上图说明了我的问题。调整#block1 内的图像大小后,#block1 的高度减小,与图像的新高度相同(这是我想要的)。但是,我希望宽度也能做到这一点,但这并没有发生。宽度保持不变,因此#block1 的宽度不会更改为等于图像的新大小(它保持原始图像的大小)。我希望 #block1 的宽度根据图像的新较小尺寸自动减小。

这可以通过 CSS 实现吗?

谢谢

最佳答案

更新:

如果您不希望您的 img 元素占据包含 div 的全部尺寸,您可以使用 img通过设置 padding 属性的百分比,元素按容器的高度和宽度百分比缩放。请参阅下文了解我的意思。

旧:

您不能将 imgmax-width 设置为 60% 并期望具有容器与 img 的容器相匹配。当我移除了 max-width 限制后请看下面:

*, :before, :after {
 box-sizing: border-box;
  padding: 0;
  margin: 0;
}

#container {
  height: 350px;
  background-color: #000
}

img {
  width: 100%;
  padding: 0 50% 50% 0;
}

#block1 {
  background-color: #fff;
  float: left;
  height: auto;
  width: 20%; /* change this to see that the div fits the image properly. */
  border-style: solid;
  border-width: 1px;
  border-color: #000;
}

#block2 {
  background-color: #456545;
  height: 100%;
  overflow: hidden;
}
<div id="container">
  <div id="block1">
    <img src="https://placeholdit.imgix.net/~text?txtsize=19&txt=200%C3%97300&w=200&h=300">
  </div>
  <div id="block2">
  </div>
</div>

关于css - 调整内部图像大小时如何自动调整容器宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36854607/

相关文章:

jquery - 在 Steps 上调整大小,以便所有字段都适合

html - 站点范围的导航链接在一个页面上响应,但在另一个页面上没有响应?

html - 用css偏移边框外的背景颜色?

javascript - HTML:水平居中元素数量未知的未排序列表

javascript - 我应该尽可能避免使用 JS 而使用 CSS 吗?

javascript - 检查元素是否被溢出隐藏 :hidden JQuery/JavaScript

html - 在不使用 css 背景图像的情况下,在保持宽高比的同时获取图像以覆盖 div

html - 如何在超小型设备中重新排列自举网格

html - 带有背景图像的 CSS 网格 50% 分隔宽度单元格不适合屏幕

没有表单标签和 View 状态的 Jquery load() .aspx 页面