5

这张图说得最好:

在此处输入图像描述

它只是一张float: left图片(http://jsbin.com/itihes/1)。有什么办法可以防止纯 CSS 中的动态文本出现这个问题?我确实希望文本换行,但如果它少于一整行(理想情况下是两整行),所有文本都将保留在右侧的同一块中。

图像宽度是固定的,但整个块的宽度是动态的。

4

3 回答 3

2

DSKrepps 得到了一点:你能做的最接近的事情就是逐段逐句

标签,这样该段落的剩余文本不会换行,但下一段是全宽的。

你要做的就是这样

.text-div p:first-child {
    overflow:hidden;
    line-height:(a number matching (img height + bottom margin) divider)
}

这样,您的第一段不会包裹在 .. 但另一段<p>

jsfiddle 为您服务:http: //jsfiddle.net/6FQuH/

否则 --> javascript

于 2013-01-25T14:23:32.860 回答
1

因此,您希望文本仅在其足够长且不会在照片下方显得孤立时才换行。

不幸的是,仅靠 CSS 是不可能的。您可以做的最接近的事情是在每个标签上逐段进行<p>,这样该段落的剩余文本不会换行,但下一个段落是全宽的。像这样:http: //jsbin.com/avogil/1/edit

当然,也可以使用 Javascript,将浮动图像的大小与段落的大小进行比较,并将差异与字体大小进行比较。您可能想要使用 jQuery。

也许未来的 CSS 规范有一天会解决这个问题。

于 2013-01-25T14:11:17.637 回答
0

在这种情况下,您唯一能做的就是将图像的边缘底部提高到大约。字体大小的两倍。12px 字体大小,24px 底部边距。您仍然可以有一个孤儿,但在上述情况下,文本将保持内联,不会换行,对于更长的文本,它会正确换行。它留下了一个小窗口,您仍然可以在其中有一个单行孤儿。

于 2013-01-25T07:14:25.083 回答