Does CR do something in HTML?


https://www.w3schools.com/charsets/ref_html_ascii.asp
Control characters (except horizontal tab, line feed, and carriage return) have nothing to do inside an HTML document.



以下のように\nがあるStringを考える。

abc\n123\nxyz

pre内では\nは以下のように改行として表示される。

abc
123
xyz


次に以下のように\rがあるStringを考える。

abc\r123\rxyz

pre内では\rは以下のように改行として表示される。\nと全く同じであり、HTML内で\rを捨てるということはできない。

abc
123
xyz


次に以下のように\r\nがあるStringを考える。

abc\r\n123\r\nxyz

pre内では\r\nは以下のように改行として表示される。つまり\r\nと\nと\rは全く同じように振る舞う。

abc
123
xyz


最後に、この \r と \n を一つ一つ別々に CSS の content で入れ替えた場合、同じように振る舞うか試してみる。

abc\r\n123\r\nxyz

pre内ではcontent版\r\nは以下のように普通に改行として表示される。

abc123xyz

【結論】

\r, \n, \r\n の組み合わせによる改行は、そのままCSSのcontentに入れ替えられる。
ストリングは一文字一文字ごとに分解してcharCodeAt()で番号に入れ替えたあと
contentに設定できる。