为了防止部分文本换行,可以使用<span style="white-space: nowrap;">包围该部分。

给定一段对齐的文本(text-align: justify),如何取消部分文本的对齐?我想使整个文本合理,但不允许增加两个特定单词之间的距离。

而不是像这样在第二行中均匀间隔:

Lorem ipsum dolor sit amet, consectetur |
adipiscing    elit.     Phasellus    et |
ullamcorperenim sed velit fermentum.    |

我想将“顶饰精英”一词保持在一起,如下所示:
Lorem ipsum dolor sit amet, consectetur |
adipiscing elit.      Phasellus      et |
ullamcorperenim sed velit fermentum.    |

这可能吗?

最佳答案

选项:

  • 使用FOUR-PER-EM SPACE U + 2005代替常规空间,例如adipiscing&#x2005;elit。无法保证浏览器将其视为不可拉伸(stretch)的空间,但这实际上是他们的工作,这是很自然的事情。毕竟,它是fixed-width spaces之一。缺点:如果文本的主要字体不是Arial Unicode MS或其他一些特别的“丰富”字体,则在IE 6上通常会失败(显示一个小方框而不是一个空格)。
  • 将单词包装在某些内联标记(通常为span)内,并为其设置text-justify: nonedisplay: inline-block。缺点:在某些旧的浏览器上不起作用,并且将两个单词强制在一起(由于后者的声明,如果没有声明,则此方法不适用于当前的浏览器)。
  • 使用NO-BREAK空格代替普通空格。这样做通常效果很好,但缺点是必须将两个单词放在同一行上。但是例如当前的Firefox将不间断视为可延展,这可悲。
  • 使用类似Web_Designer的最新答案中的技术。我建议使宽度em值,以使其与字体大小有关。典型的空间宽度为0.25em。
  • 关于css - 取消文字对齐: justify; for certain parts of text,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8573574/

    10-11 08:15