I finally understand CSS, I think.
The "I think" part is due to the feeling that "this can't be all there is." They must have finished this thing and I'm just not getting it. By now my "I think" voice is pretty quiet. I wish it were louder. Because I wish there was more.
Fact is, we know how to do this better, at least two generations better.
That's what this post is about.
The first major improvement to CSS would be grouping and alignment.
If you use Draw programs, you know what this is. Grouping is what happens when you take two or more objects and form a new object which includes of all of them. Then you can repeat the process, creating groups of groups and groups of groups of groups.
CSS has something like grouping -- divs. But there are some weird rules about what you can and can't do with them. That's the thing. In a really good system there would be no limits. A group would be a first class object. Anything you can do with a simple non-compound object could be done with a group.
Alignment is what happens when you take two or more objects and say I want to arrange them in a certain way. Usually by an edge. So you say, align these objects so the tops are the same. Or the left edges. You can align objects so they are centered relative to each other, or centered only in one dimension, vertical or horizontal.
That's the first level of improvement.
The second level is something that, as far as I know, has never been done in a commercial Draw program -- make the relationships persistent. So I could say "align the tops of these objects" but make that a rule. And maintain it so that it's always true. So if one of the objects moves, if they were top-aligned, their tops would remain aligned. And centering is especially nice for presentations, when objects contain bits of text and the designer doesn't know in advance how long they are. These days this is what's called "responsive design" although it's a real huge honkin mess. The idea behind rules-based grouping and alignment is that it can be made easy for both the designer and the writer, because the computer does all the heavy lifting.
The thing is -- I've used such a program. We came up with the need for this at Living Videotext when we were working on presentation programs in the era of MORE and PowerPoint (the former was my product). After we left the company, my brother Peter worked on the side, in his spare time, on a recalculating graphics app he called PowWow.
I often think how much better all this would be if I could just use PowWow.
Oh well. Maybe someone will resurrect this idea. I would of course happily work with them.
That's why I'm putting the idea out there.