Search code examples
htmlcharacterline-breakshyphenation

What's the opposite of a nbsp?


A   character is a space which doesn't allow for line breaking.

<p>lorem ipsum here&nbsp;are&nbsp;some&nbsp;words and so on</p>

| lorem ipsum                |
| here are some words and so |
| on                         |

What's the opposite of that? That is, a character which is NOT rendered as a space, but CAN be used for line breaking.

<p>foo supercalifragilisticexpialidocious bar</p>
<!--   put char here ^   and here ^ -->

|foo supercalifragi |
|listicexpiali      |
|docious bar        |

or with wider size:

|foo supercalifragilisticexpiali   |
|docious bar                       |

I'm aware of the soft-hyphen character, but for my purposes, I specifically do not want a hyphen added at the break.


Solution

  • You want the unicode character ZERO-WIDTH SPACE (\u200B).

    You can get it in HTML with &#8203; or &#x200b;.

    Explicit breaks and non-breaks:

    LB7 : Do not break before spaces or zero width space.
    LB8 : Break before any character following a zero-width space, even if one or more spaces intervene.
    http://unicode.org/reports/tr14/