防止跨度元素的换行

Ran*_*lue 216 html css

我有一个<span>元素,我想显示没有任何换行符.我怎样才能做到这一点?

Daa*_*aan 369

把它放在你的CSS中:

white-space:nowrap;
Run Code Online (Sandbox Code Playgroud)

在此处获取更多信息:http://www.w3.org/wiki/CSS/Properties/white-space

white-space

white-space属性声明如何处理元素内的空格.

normal 此值指示用户代理折叠空白序列,并根据需要断行以填充行框.

pre 此值可防止用户代理折叠空白序列.行仅在源中的换行符处或在生成的内容中出现"\ A"时断开.

nowrap 此值会折叠白色空间,与"正常"相同,但会抑制文本中的换行符.

pre-wrap 此值可防止用户代理折叠空白序列.在生成的内容中出现"\ A"时,在源中的换行处断开行,并根据需要填充行框.

pre-line 此值指示用户代理折叠空白序列.在生成的内容中出现"\ A"时,在源中的换行处断开行,并根据需要填充行框.

inherit 获取与元素父级的属性相同的指定值.

  • 如果你在div中有很多跨距而你想要获得单行跨度而不是单行div,你必须添加到span也显示:inline-block;.希望它会对某人有所帮助. (19认同)
  • 也很高兴在这里添加更多文档:http://www.w3.org/wiki/CSS/Properties/white-space (3认同)

wor*_*art 19

white-space: nowrap是正确的解决方案,但它可以防止线路中断。如果您只想防止两个元素之间的换行,那么情况会变得更复杂:

<p>
    <span class="text">Some text</span>
    <span class="icon"></span>
</p>
Run Code Online (Sandbox Code Playgroud)

要防止跨度之间的中断,但允许“Some”和“text”之间的中断,可以通过以下方式完成:

p {
    white-space: nowrap;
}

.text {
    white-space: normal;
}
Run Code Online (Sandbox Code Playgroud)

这对于 Firefox 来说已经足够了。在 Chrome 中,您还需要将跨度之间的空格替换为&nbsp;. (删除空格不起作用。)


Bre*_*rne 14

如果您只需要阻止空格字符的换行符,则可以&nbsp;在单词之间使用实体:

No&nbsp;line&nbsp;break
Run Code Online (Sandbox Code Playgroud)

代替

<span style="white-space:nowrap">No line break</span>
Run Code Online (Sandbox Code Playgroud)