文本和 SVG 之间没有换行符

Aiw*_*tko 7 html css svg

我有一个短文本,后面是一个宽度有限的容器中的 SVG。预期的行为是,如果文本比容器宽度长,则文本会中断,但我希望它不会在文本和 svg 之间中断:

当前结果:
当前结果:

预期结果:
在此处输入图片说明

在文本中间(蓝色之前)添加一个<nobr>或一个<span>标签并在 SVG 之后关闭它不是一种选择,因为文本来自外部数据库并且无法编辑。

<span class="text">
    Jack Wolfskin Jacke Colorado Flex - Midnight Blue
</span>
<span class="svg">
    <svg>
    ....
    </svg>
</span>
Run Code Online (Sandbox Code Playgroud)

rad*_*fox 8

您可以使用此标记防止换行。它不需要包含最后一个单词,因此您甚至可以在生成的内容中使用它。

JSX

<div>
  {children}
  <span className="tail">
      {'\u00a0'}
      <svg></svg>
  </span>
</div>
Run Code Online (Sandbox Code Playgroud)

超文本标记语言

<div>
  {children}
  <span className="tail">
      {'\u00a0'}
      <svg></svg>
  </span>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

<div>
  Lorem ipsum dolor sit<span class="tail">&nbsp;<svg></svg></span>
</div>

Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/radarfox/65h40jt7/


Ser*_*yar 2

将显示块添加到 svg 容器:

.svg {
  display: inline-block;
}
Run Code Online (Sandbox Code Playgroud)

  • 由于某种原因, nbsp 无法在文本和 svg 元素之间工作,并且 nowrap 选项仅适用于单行实例(对于 op 来说似乎很好)。**编辑:** 使用 nowrap 将文本和 svg 的最后部分包装在 &lt;span&gt; 中效果很好。 (3认同)
  • 1. 您可以将 .text 和 .svg 放入容器中并对其应用 `white-space: nowrap` 。 (2认同)