避免html元素之间的换行符
我有这个<td>
元素:
<td><i class="flag-bfh-ES"></i> +34 666 66 66 66</td>
我希望把这个保存在一个单一的行,但这是我得到的:
正如你所看到的,国旗和电话号码是分开的。
在电话号码的号码之间工作,而不是在国旗和电话号码之间。
我怎样才能确保渲染器没有引入任何换行符?
有几种方法可以防止内容中的换行符。 使用
是一种方式,在单词之间运行良好,但是在空单元和文本之间使用它却没有明确的效果。 这同样适用于使用图像作为图标的更合理和更易于访问的方法。
最强大的select是使用nobr
标记,这是非标准的,但通用支持,即使在禁用CSS时也可以使用:
<td><nobr><i class="flag-bfh-ES"></i> +34 666 66 66 66</nobr></td>
(在这种情况下,您可以,但不必使用空格而不是空格。)
另一种方法是nowrap
属性(不赞成/过时,但仍然工作正常,除了一些罕见的怪癖):
<td nowrap><i class="flag-bfh-ES"></i> +34 666 66 66 66</td>
然后是CSS方式,它在支持CSS的浏览器中工作,需要更多的代码:
<style> .nobr { white-space: nowrap } </style> ... <td class=nobr><i class="flag-bfh-ES"></i> +34 666 66 66 66</td>
这个td的CSS: white-space: nowrap;
应该解决它。
如果你需要几个单词或元素,但不能将它应用到整个TD或类似的,Span标签可以使用。
<span style="white-space: nowrap">Text to break together</span> or <span class=nobr>Text to break together</span>
如果您使用的是类版本,请记住按照接受的答案中的详细说明设置CSS。
如果<i>
标签没有显示为一个块,并导致probelm,那么这应该工作:
<td style="white-space:nowrap;"><i class="flag-bfh-ES"></i> +34 666 66 66 66</td>