两个并排的div,右边的宽度由其内容决定,左边的占据所有可用空间?

  • 本文关键字:左边 决定 空间 两个 div 右边 html css
  • 更新时间 :
  • 英文 :


在右边的div中我有一个图像和一个链接。可能加载的图像具有各种各样的宽高比(从0.38到6.83),我无法控制源图像,但它们需要具有适当的宽高比。为了做到这一点,我给它一个max-width,但太经常的图像比这个宽度薄。

我试图让第一个div (.owner-info-container)占用第二个div (.primary-image-container)不使用的父元素中的所有剩余空间。如果图像没有占用max-width允许的整个空间,我希望左侧容器不要将其作为空白。

我对第二个div进行了右浮动,但是如果第一个div的内容太宽,它将不会进入新行,它只会将第二个div向下推。

<div class="owner-address col-xs-12">
  <div class="owner-info-container">
    <h3>Address</h3><br/>
    <span class="owner-info">
      <span class="header">Owner Name</span><br/>
      <span>Name goes here</span>
    </span>
  </div>
  <div class="primary-image-container">
    <img />
    <a>Send us an updated photo</a>
  </div>
</div>

您可以使用flexbox完成此操作。

如果您将display: flex;分配给.owner-address类,然后将.owner-info-container分配给flex-grow: 1;,它将占用.owner-address中的剩余空间。

CSS

.owner-address {
  display: flex;
}
.owner-info-container {
  flex-grow: 1;
}

JSFiddle

最新更新