【问题标题】:Auto fix the width of a floating div to image size自动将浮动 div 的宽度固定为图像大小
【发布时间】:2020-01-15 21:54:59
【问题描述】:

我想知道是否有一种方法可以强制包含图像和一些文本的浮动 div 不超出图像的宽度(而不是文本),从而强制文本以该宽度换行。

<div>
   <img src="some.jpg">
   <p>Some descriptive text here..</p>
</div>

当文本字符串占用的空间小于图像的宽度时,一切正常。但是当有更多文本时,默认是让 div 展开而不换行。

显而易见的解决方案是将 div 的宽度定义为与图像相同。但是,由于我有大约 50 页这样的页面,并且每张图片的大小和方向都不同,我想找到一种避免单独编码的方法。

如果可能的话,我更喜欢 CSS 解决方案,否则我更喜欢 JS。该站点是静态的,因此不能使用服务器端解决方案。

谢谢

【问题讨论】:

    标签: javascript html css css-float width


    【解决方案1】:

    这是执行此操作的一种方法。

    div {
      display: inline-block;
    }
    
    p {
      word-break: break-all;
      min-width: 100%;
      width: min-content;
    }
    <div>
      <img src="https://upload.wikimedia.org/wikipedia/commons/f/fd/ComaAberrationSample.jpg">
      <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy </p>
    </div>

    【讨论】:

    • 太棒了。非常感谢。 flex: 1 在我的快速尝试中似乎没有必要。如果是这样,那么 div 应该是 display: inline-flex
    • 抱歉添加错误。我编辑了答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-10
    • 1970-01-01
    • 2012-01-24
    • 2013-01-31
    • 2011-01-01
    • 2012-08-14
    • 2015-05-19
    相关资源
    最近更新 更多