CSS Philosophy (was: Re: flowing around both sides of a float)

On Jan 4, 2008, at 12:29 PM, Aleksey V Lazar wrote:
>
> I don't think that having more features makes CSS more complex  
> necessarily.  It just makes more features available to choose from,  
> which is a good thing.  One uses a subset of familiar features and  
> looks for new ones as new needs arise.  Many of the same developers  
> who use CSS are also programmers and CSS is nothing compared to  
> that.  The biggest roadblock in adoption of CSS is not complexity--- 
> it's lack of consistency in browser support, countless  
> implementation bugs and the need for countless workarounds and  
> hacks.  This is what makes adoption hard, not complexity, really.   
> After all, many of the more useful (complex?) features of CSS 2.1  
> are impossible to use even now, mostly because of certain outdated  
> web browser versions 6+1.
>
> I would really love to see CSS become something of a CSS+ECMAScript 
> +SVG type environment.  This would certainly be complex, but if  
> it's implemented in a way that allows anyone to bite off as much as  
> one can chew, the complexity would not get in the way.
>

The last paragraph caused me to think deeply. (Good job, Aleksey!) In  
my mind, I am having trouble finding the correct (for me) dividing  
line between what CSS is and what it should be. I mean, for example,  
that SVG allows colors to be more than just a single shade -- a  
background or fill can be multiple colors with shading in between.  
This seems to be a good fit for CSS, as it just expands on the notion  
of what a color is and colors are already part of CSS. For some other  
people, this seems like it should be in SVG rather than CSS. Since  
SVG already uses CSS (for fonts, etc.) the exact position of this  
feature is a matter of discussion.

If I consider CSS to be useful for more than just HTML styling, this  
becomes more open to discussion. If SVG allows colors which are  
shaded, that feature could be considered part of the styling in SVG  
and could, reasonably, be moved into CSS, where it might be available  
to use in HTML, or any other styled language (such as MathML).

Exactly where the dividing line should go is still not clear. Would  
anyone in this group be interested in discussions about where the  
boundaries of CSS should be placed?

For example, I like SVG very much. But its purpose is to produce  
graphics. Many of the things SVG does can be considered 'stylings'  
and I am not sure exactly how much of SVG should be in CSS and how  
much should be separate.

A similar thought was triggered by Aleksey's comment above about  
ECMAScript. CSS already allows styles to change on :hover  
(MouseOver), for instance. The same could be done with ECMAScript/ 
Javascript and CSS. Where is the dividing line between actions and  
styling? Many people worked on CSS 1, 2, and 2.1, and they seem to  
feel that, at least in this case, it belongs in CSS. Is this limited  
to a few actions, which might influence stylings, or should it be  
expanded to allow stylings to change with any reasonable action? Or,  
in the opposite view, should the actions be controlled with  
ECMAScript/Javascript and the designers provide code which changes  
the stylings?

The purpose of X/HTML is to produce documents, especially on the  
screen. Since many (most?) documents in X/HTML also contain graphics,  
should SVG be moved into HTML? I would say no -- because the purposes  
are different. I would also say that including SVG sections in an X/ 
HTML document would make many of my tasks easier, so I would like to  
see the abilities to use multiple XML languages in a single document  
made simpler to understand and to apply. My preference would be to  
allow multiple languages to each handle a specific part of the  
puzzle, keeping them clearly separate. Just as parts of HTML have  
been deprecated because they were found to fit better in CSS, or to  
be clearly not part of what essential HTML should be, CSS may have to  
change, if we produce a clearer basic philosophy for CSS.

Many people might disagree with me -- can we bring that disagreement  
into the light of open discussion to clarify exactly what CSS should  
move toward?

Maybe it would be easier to step back and say (for example) HTML is  
the 'glue' for web documents. Designers should use MathML for  
equations, SVG for vector graphics, (WARNING! INVENTED NAME HERE!)  
TextML for words, and SMIL for actions. CSS then becomes the styling  
agent for all of the above. If it applies a style to any of the above  
elements, it belongs in CSS.

Is there interest in this discussion? For me, finding the boundaries  
is the key to providing solid solutions, in programming, and in living.

> Aleksey
> -- 
> Aleksey V Lazar
> Website Developer
> http://www.mnsu.edu/

James Elmore

Received on Friday, 4 January 2008 21:26:22 UTC