在HTML文档中,假设我有一个链接,它在另一个非空格字符之后开始,例如:
p {
max-width: 140px;
}
<p>This is some text that includes a link (<a href="https://example.com">example</a>)</p>
如果视口宽度使得线条必须在链接文本的第一个词的中间中断,那么前面的字符(在本例中是左括号)"粘"到链接上,即标准布局算法在最接近的前面空白处中 break line 条.
但是,如果我想在a
元素的开头插入一个SVG图标:
p {
max-width: 140px;
}
<p>This is some text that includes a link (<a href="https://example.com"><svg style="height: 1em; color: green;" viewbox="0 0 10 10" fill="currentColor"><circle cx="5" cy="5" r="5" /></svg>example</a>)</p>
然后,现在允许线断开SVG的任何一侧.
问题
有没有什么方法可以让布局引擎像对待普通文本字符一样对待svg,以便打开的括号仍然"粘"在链接文本上?
我不能使整个段落或整个链接white-space: nowrap
—I want的文本能够正常地包装在链接内外,我只需要它not打破周围的<svg>
(除非链接作为一个整体是空白). 基本上,我希望能够在链接的开始插入一个图标,而不干扰正常的文本布局行为,就好像图标只是另一个字符,与现有链接文本的第一个字符具有相同的Unicode属性.
这可能吗?