13

During the development of the CSS3 specifiction, the introduction of white-space-collapsing was considered.

Such a property would help to solve a nowadays common HTML/CSS problem.

Unfortunately, the current CSS3 spec does not contain this property anymore.

However, a similar property that would also offer a solution for the problem mentioned above seems now to be considered for CSS-text-4. This time the working title for that property is text-space-collapse.

My question is: What were the reasons for not introducing white-space-collapsing with CSS3 but instead postponing it to CSS-text-4?


EDIT: I'm looking for answers that

  • are non-speculative, so answers that are either based on publicly available sources (like mailing lists, blog entries of specification writers, minutes of specification writer meetings) or directly come from specification writers. (Some of them are might already be registered here or register here someday like it has already been the case in similar situations).
  • give a clear explanation or rationale why this specific white-space-collapsing property was not already included in the CSS3 specification. (I really don't understand it: What made the specification writers determine that the property was so unclear that it had to be postponed to a later standard?) So I'm not looking for answers that are too broad like: "Well, sometimes specification writers simply don't feel that their specification is complete in one regard or another."
  • are not to be considered to actually be part of a discussion concerning this topic. (Or to put it differently: I'm not asking how people feel that the property was postponed. I'm just asking for a clear reason for this decision as given by the specification writers. So if read literally, this question should not lead to content-related discussion of any kind.)

The discussions around this kind of questions on Meta indicated that this question could be improved by giving it a more practical view point. So here's another way to put it: "If I were to implement a completely new browser or to add new features to an existing one, why would I not want to implement the white-space-collapsing property as it was suggested in an early version of the CSS3 specification?"

However, by paraphrasing my original question in such a way, it definitely becomes an invitation for opinions. And that's just not what I'm looking for. I'm looking for an explanation of "past reasoning". So a possibly better way phrase the question is this: "Let's assume I were to implement a completely new browser or to add new features to an existing one. Now I don't want to run into problems/challenges that were foreseen by the CSS3 specification writers who removed the white-space-collapsing property from it during the specification development process. In order to avoid the foreseen problems/challenges during the development of my browser: Why did the specification writers not include that property in the CSS3 specification?"

I know that this question might be hard to answer but it is definitely answerable with a definite (and hopefully clear) answer.

A really great answer to this question would include not just the reasoning behind it and appropriate sources but also some examples. An example of a great answer (to another similar question) can be found here: https://stackoverflow.com/a/11854515/1560865

Community
  • 1
  • 1
Hauke P.
  • 2,695
  • 1
  • 20
  • 43
  • This question is either too broad, opinion based or invites discussion and so is off-topic for Stack Overflow. If you have a specific, answerable, programming issue, please provide full details. *In other words...you'd have to ask the spec writers.* – Paulie_D Nov 25 '15 at 13:12
  • 1
    I'd disagree that this is opinion based because the spec authors should definitely have found clear reasons that made them not include the property. I'd also disagree that this invites to discussions because I'm not asking how people *feel about this* but I'm simply asking for the *spec writers' reasons* that made them postpone this. Also, the question is as specific as it can get - so I'd also disagree with it being too broad. I was hoping that people who are following the specification development process could give a list of reasons that made the spec writers postpone the property. – Hauke P. Nov 25 '15 at 13:18
  • 2
    Regardless, it's not a "solveable programming problem" so it's off-topic for SO... – Paulie_D Nov 25 '15 at 13:19
  • 1
    I'd consider my question "unique to software development" which seems to be covered by SO. But in case my assessment was wrong: Where else on the StackExchange network does such a question belong? – Hauke P. Nov 25 '15 at 13:24
  • There may not be a place on the SE Network for it...most of the SE sites have similar "defined problem" constraints. - http://meta.stackoverflow.com/questions/252777/is-there-a-less-restrictive-stack-exchange-site-specially-suited-for-not-too-spe – Paulie_D Nov 25 '15 at 13:25
  • It is not uncommon that features are postponed to another version, if they were not able to agree e.g. on naming or features. If you look at the current specs there are still the unresolved comments: `Need a property name`, `The CSSWG would appreciate feedback on the use cases for this value, to evaluate whether this value is needed at all and if so, if trimming leading spaces could be needed as well.` and `Does this preserve line break opportunities or no? Do we need a "hide" value?` and that is the reason why it is not in css3. – t.niese Nov 25 '15 at 13:29
  • @t.niese: Thank you for your answer! – Hauke P. Nov 25 '15 at 13:39
  • @Paulie_D: Your comments surprised me a lot. I therefore opened a new question concerning this topic on Meta: http://meta.stackoverflow.com/questions/311098/do-questions-concerning-the-development-of-well-known-specifications-like-css – Hauke P. Nov 25 '15 at 13:39
  • 2
    @HaukeP. np, But I also would agree that this question is off topic here. It doesn't describe a actual problem you have with css3 or css4, not even with a feature defined by the standard. It is a question why a suggested property of the draft was not added to the final version and was never used. To get the exact reason you would need to either ask the members of the working group or just assume that they could not agree on adding it. – t.niese Nov 25 '15 at 13:47
  • 1
    Also note that there is no CSS4 - you are talking about CSS Text Module Level 4 - CSS has split to separate modules and a new level is released independently of other modules level. – easwee Nov 25 '15 at 16:38
  • In addition to what @t.niese said, go through every revision of the spec starting from late 2012 working backward and review the Changes section. You may find more details there. – BoltClock Nov 25 '15 at 16:50
  • 2
    I added a lot of information to my question, especially regarding required properties of possible answers to this question. [Based on the discussion on Meta](http://meta.stackoverflow.com/questions/306471/are-language-specs-and-their-developments-on-topic), the SO community seems to be divided on the question if this is an appropriate question for SO. However, such questions can lead to great answers like these: http://stackoverflow.com/a/11854515/1560865 So I hope that I might be able to convince some SO members who put this question on hold to change their opinion after my edit. – Hauke P. Nov 26 '15 at 11:57

1 Answers1

0

That common problem you used as an example is not really a problem that needs to be solved, it's just the way white-space is handled in the current spec. It's up to us as developers to realize how it is handled and work with it.

We can easily say "Oh hey why not just remove the white-space when you display: inline-block?" but obviously it is much deeper than that for the writers of the spec, as white-space affects element properties across the board, especially with fonts. But to your point, maybe they should give us complete control over whitespace? Maybe it ended up being too drastic of a change and they decided not to do it for the immediate future. I'll stop the speculation here.

So this is the whole point of your question, why can't they do it, what is the hold up? Either way, use flexbox.

Dave Jarvis
  • 30,436
  • 41
  • 178
  • 315
StefanBob
  • 4,857
  • 2
  • 32
  • 38