Hacker News new | ask | show | jobs
by munificent 1917 days ago
CSS is just an embarrassment of mistakes:

   white-space: nowrap
So they take a word "whitespace" which needs no hyphen and jam one in. Then they take two completely distinct words "no wrap" and jam them together with no separator. And then you have to remember both of these on the same rule.
6 comments

Also, the entire semantics are a bit strange. When I'm deciding whether I want text to line wrap, I don't really think about whether the whitespace should wrap. Yes, whitespace is somewhat relevant to the topic, since that's one option of where to break lines in order to line wrap, but I still think of it as the entire text that is line wrapping.

Oh, and don't forget that there is in fact a word-wrap property, which is a much better name for the previous behavior, but in fact only customizes how the line-breaking algorithm determines which words can be broken apart.

The naming is far from great, but there is a method to the madness. Here's a talk I did a while back on how various line breaking things fit together: https://cssday.nl/2019/speakers#florian
This is at the top of the list in the Incomplete List of Mistakes in the Design of CSS[1]. Which has been discussed several times on HN (last 2 months ago)[2].

1: https://wiki.csswg.org/ideas/mistakes

2: https://news.ycombinator.com/item?id=25891435

"Whitespace" in programming languages is a single word. "White space" in visual arts is composed of two separate words.
Eh it's minor at best. I'll take it over "referer" any day.
I would be so lost if vscode didn't autocomplete css so well for me.
"White space" is two words, not one.
In computing it is widely used as a single word "whitespace." For example:

- The XML W3C Rec: https://www.w3.org/TR/xml/

- The HTTP 1.0 RFC: https://tools.ietf.org/html/rfc1945

However, there are exception. The Unicode character database has a property called "White_Space" which implies it is two words: http://www.unicode.org/reports/tr44/#White_Space

> a property called "White_Space" which implies it is two words

<tongue-in-cheek> Except that `_` is a "word" character by default. </tongue-in-cheek>

As far as I can tell, both are common, but “white space” is more common as a synonym to negative space, and “whitespace” is more common to refer to the characters. If so, the “white-space” property controls whitespace, not white space.
"White" and "space" are two words, and "Whitespace" is one word.