css - 将文本限制为同级图像的宽度/CSS 中的自动宽度

标签 css layout html

我实际上是在尝试创建“图形”元素的一个版本(即将在 HTML5 中推出),借此我有一张图片,下面有简短的描述。

但是,我想将整个元素的宽度限制为图像的宽度,因此文本不会比图像宽(必要时换行)。

基本 HTML:

<div class="figure">
<img src="..." alt="..." width="..." height="..." /><br />
A description for the image
</div>

我精通 CSS,但我想不出任何纯 CSS 解决方案,而不向 div 添加 style="width:100px"以匹配图像宽度。

更新:经过一些搜索和思考,最好的方法似乎是在 div 上使用内联宽度。我将保留图像的宽度属性,以防我希望 div 比图像宽一点(例如,以容纳更长的标题)。

这种方法还意味着我可以并排放置两张图片,并在下方添加标题。如果我有一组相同大小的图像,我当然可以为每个 div 添加额外的样式。

感谢所有回答的人!

最佳答案

这也可以使用 'display: table-caption' 作为标题来完成,如下所示:

HTML

<div class="wrapper">
  <img src="image.jpg" />
  <div class="caption">My caption...</div>
</div>

样式表

.wrapper {
  display: table;
}

.caption {
  display: table-caption;
  caption-side: bottom;
}

此 block 也可以在其他文本的左侧 float 。我已经在 IE8+ 中测试过了。这是一个 JSBin 示例:http://jsbin.com/xiyevovelixu/1

关于css - 将文本限制为同级图像的宽度/CSS 中的自动宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/617386/

相关文章:

css - 尝试在列表中堆叠卡片时,下面一张的文本显示在下一张的上方?

css - 如何减少 100% 宽度 div 中两个元素之间的间隙?

javascript - Google App Script Cache 数据类型以及如何转换为字符串

javascript - Angularjs 访问对象索引

javascript - 如何在谷歌可视化中画一条线来指示今天/当前日期

css - 在子元素上使用奇数和偶数选择器伪 css3

javascript - 回调函数自动滚动失败

css - <p> 标签删除 <div> 标签 Inline-block IE 8

java - 盒子布局问题

html - Node.js 上是否有 HTML5 Server-Sent-Events 的服务器端库?