Live data from Hacker News

Incomplete List of Mistakes in the Design of CSS

wiki.csswg.org

91–100 of 111 posts

Re: Incomplete List of Mistakes in the Design of CSS

#91
post #44

When do we get to throw the whole thing out and start again?

When we implement Display PostScript in js, so we can use it for the web? HTML+CSS for publishing static, stand-alone documents isn't all that bad. It's terrible for making "applications", and it's terrible for composing more than one thing into a page (such as a header, footer, table of contents/menu). I still think Adobe's idea[1] of flowing content through boxes (aka the "desktop publishing way") makes more sense…

Hey, as long as you're implementing Display PostScript in JS, throw in light weight threads, arbitrarily shaped canvases, events, interests, air tight synchronous event distribution, monitors, object oriented programming, networking, binary data encoding, object reference tokens, and implement NeWS! [1]

[1] https://en.wikipedia.org/wiki/NeWS

NeWS was architecturally similar to what is now called AJAX, except that NeWS coherently:

used PostScript code instead of JavaScript for programming.

used PostScript graphics instead of DHTML and CSS for rendering.

used PostScript data instead of XML and JSON for data representation.

Re: Incomplete List of Mistakes in the Design of CSS

#92
post #45

Earlier quoted context omitted.

Are you seriously trying to deny IE6 isn't there in the wild? It was a job I had to do. I was paid to do it. It was awful. This happened circa 2013. For contrast I now support IE8 and IE9. Without jQuery. It's bad. Really, really bad. Like, there isn't indexOf on Array and asking for polyfill is forbidden.

You're one-off job is nothing to be holding up as an example of current web development. My company has 23 active clients and I can't tell you the last time, many years ago, we saw IE8 in the visitors logs much less anything less than that.

Much of the government and enterprise sectors don't want to upgrade their browsers. They put a lot of money into their crappy intranet apps around 2000, and don't want to pay to have them rebuilt; since those require the old browsers to stick around, the new apps will still have to run on the old browsers.

Re: Incomplete List of Mistakes in the Design of CSS

#93

Earlier quoted context omitted.

Not exactly. The W3C spec stated the box model should work one way and everyone but Microsoft/IE did it that way. This is a new part of the spec which didn't exist back then. However, since IE had 95% market share, everyone marked up their site according to Microsoft's model instead of the W3C. It's affectionately called "quirks mode" and really screwed people up, remnants of which I still see today.

MS thought the spec was wrong and the W3C actually intended the more logical model, thus following that assumption when they implemented IE; and why the W3C didn't change the spec, or why other browsers didn't follow, is I think more of a political issue.

Many years ago, I read that Microsoft "misinterpreted" the spec but I don't recall the source.

Microsoft is a member of the W3C. I don't remember where they were then but, today, they are listed as contributors to writing of the spec and I'd assume they were then, too.

The box model has not changed and your statement calling this CSS box model property "more logical" is an opinion. My opinion, as well as many others, is there is nothing wrong with how width/padding/border/margin works. Some complain that width should include all that but, to us, it's perfectly logical the way it is.

This new property is only a different way to set the same thing but, again, the model has not changed in any way.

Re: Incomplete List of Mistakes in the Design of CSS

#94
post #54

Earlier quoted context omitted.

You're one-off job is nothing to be holding up as an example of current web development. My company has 23 active clients and I can't tell you the last time, many years ago, we saw IE8 in the visitors logs much less anything less than that.

I wasn't holding it as example of current web development. I was holding it as a sample of web development that happened semi recently. It is also why web dev can be a nightmare - Legacy systems and browser incompatibility. It's great if you never had to deal with them, but that doesn't mean it won't happen. Note: It wasn't a one-off job either. There were multiple jobs, government sector.

I never said it didn't happen, I dealt with IE4 and Netscape (briefly), and that you mention "government center" is exactly the area I knew you were talking about.

Re: Incomplete List of Mistakes in the Design of CSS

#96
post #77
post #21

This doesn't even address the fundemantal design flaw with CSS: (paraphrased badly from a quote by Casey Muratori) Layout is about the relationship between TWO THINGS. If you have a layout language that deals with only one thing at a time, then you have failed.

Can you elaborate? Why only two things?

Well not _only_ two things, but the idea is that you need to specify _relationships_ between objects. You can't do that by just considering each object in isolation.

  - "A goes TO THE LEFT of B"
  - "The header goes ABOVE the content"
  - "The list goes INSIDE the table"
  - "The menu goes BEFORE the advert"
You could try and combine more than two objects together in a single rule, but it's obviously easier to specify the rules one pair at a time.

A layout language without prepositions isn't much of a layout language at all.

Re: Incomplete List of Mistakes in the Design of CSS

#97

Earlier quoted context omitted.

Honest question, what else could it be a %age of? Or should % not be an allowed unit of measurement of width?

Height?

Oh, right I see now, padding-top: 5%; is a %age of the width, not the height of the element. Yes, that makes little sense.

Re: Incomplete List of Mistakes in the Design of CSS

#98

I can't help but wonder if the vertical margin collapsing (in general) would have seemed worth it if we weren't borrowing concepts from print media.

It is, still. You want separation between your paragraphs and other elements; you don't want the first and last children of a box to be separated from the edges of that box. Margin-collapsing does that (sibling boxes collapse margins together, first/last collapse with parent and shift their margins "out"), but it's difficult to do otherwise.

That said, you could do one-sided margins better if we hadn't had naked text in the layout model. If everything was wrapped in elements, then text at the start of a container element wouldn't require a margin-top on the first child element, while text at the bottom wouldn't require margin-bottom on the last child element. Naked text is a mistake. (And I just added it to the list. ^_^)

Re: Incomplete List of Mistakes in the Design of CSS

#99

The term "blend mode" specifically refers to color blending. It isn't just "blending" nor does the addition of the word "mode" at the end of the property indicate some sort of redundancy in the attribute name. This single slip up as an indicator of the author(s) not being familiar with a particular graphics industry term makes me question the validity of every other claim of "mistake" on the page. > rgba() and hsla()…

trolololol

The term "blend mode" is a term of art in the industry, yes. But "mode" is always redundant - lots of properties switch "modes", particularly the ones with keyword values. For example, we could have had "display-mode" rather than "display", but that would definitely have been redundant. The word "blend" isn't used for anything else reasonable in CSS's wheelhouse, so using it by itself would have been fine.

I'm not sure what difference you think you're alluding to between RGB and RGBA. All browsers store colors as RGBA 4-tuples. Are you perhaps under the impression that "RGB" and "RGBA" refer to particular color spaces or something? They don't - nearly all color spaces are alpha-agnostic and can have an alpha value appended to their color definition. (The few exceptions are things like pre-multiplied RGBA, where the RGB components depend on the alpha. But these are rare)

Given that the CSSWG's membership is largely browser implementors, I'm pretty sure we have a handle on what the fuck our graphics stack does.

Post reply on HN