html - 我如何手动选择换行符,并让 CSS 使包含的 div 足够宽以容纳它们?

标签 html css

我想制作一个可以向左浮动的盒子,其中包含带有标题的图形。我想让标题文本围绕图像流动,并且我想明确选择换行符 - 最长线的长度应确定框的宽度。

以下几乎有效,除了包含“AReallyLongWordIsHere”的行 - 不是直接出现在上一行下方,而是出现在图像的右侧 - 出现在图像下方。我相信发生这种情况是因为 img 的宽度 - 加上第一行的宽度 - 决定了框的宽度,并且后续行相应地被打破。有没有办法指定框应该与最长的线一样长?

<div id="a">
  <img src="blah"></img>
  Line one<br/>
  AReallyLongWordIsHere<br/>
  Another line<br/>
</div>

#a {
  float: left;
}

#a img {
  float:  left;
}

最佳答案

您可以将文本包装在 p 标记中并使用 display: table;display: table-cell;

#a {
  display: table;
  border: 1px solid black;
}

#a img, #a p {
  display: table-cell;
  vertical-align: top;
}
<div id="a">
  <img src="http://placehold.it/350x150">
  <p>Line one <br>
  AReallyLongWordIsHere <br>
  Another line <br></p>
</div>

或者您可以只使用 display: inline-flex:

#a {
  border: 1px solid black;
  display: inline-flex;
}
<div id="a">
  <img src="http://placehold.it/350x150">
  Line one <br>
  AReallyLongWordIsHere <br>
  Another line <br>
</div>

关于html - 我如何手动选择换行符,并让 CSS 使包含的 div 足够宽以容纳它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34843512/

相关文章:

html - CSS - 对齐图像

html - 元素之间的CSS伪元素

html - 如何正确显示div内的大文本

html - Css 菜单帮助,下拉问题

html - 选择子标签时无法查看父标签的文本

javascript - 从标记字符串创建节点

html - 如何让我的旋转木马仅填充屏幕尺寸的 60%,以便其余部分可供其正下方的面板使用

html - 现代网页设计中的CSS布局

javascript - 复选框确认消息 - 如果为 false,则保持选中状态

javascript - 在 gruntjs minify/uglify 之后更改 html 中的链接或脚本文件名