View Single Post
Old 02-28-2010, 07:34 PM   #322
DawnFalcon
Banned
DawnFalcon plays well with othersDawnFalcon plays well with othersDawnFalcon plays well with othersDawnFalcon plays well with othersDawnFalcon plays well with othersDawnFalcon plays well with othersDawnFalcon plays well with othersDawnFalcon plays well with othersDawnFalcon plays well with othersDawnFalcon plays well with othersDawnFalcon plays well with others
 
Posts: 2,094
Karma: 2682
Join Date: Aug 2009
Device: N/A
The direct argument is the inconsistent layout engine CSS support and lack of an easy-to-use editor. You could get a reasonable looking website out of Frontpage 2k, even if the code was messy as heck. Now, half of what it does won't render properly in browsers.

And I didn't say "impossible", I said it was so difficult it hadn't been done.

Short form of the arguments, copy/pasted from elsewhere (I'm not going to argue about the details since I don't 100% agree, and this was written in the CSS 2.0, not 2.1 era):

*CSS 2 was designed by engineers with little reference to usability, design principles or interface management. The original design of CSS1 was improperly directly extended into CSS2 without basic considerations as to longer-term usability being done.
*Layout is typically (in printing, etc.) done using areas of the screen as boxes (hence the old methodology of frames!), which is something which is actually quite hard and counter-intuitive to do in CSS. Also, vertical element handling support is problematic compared to horizontal element handling, despite their being of equal importance.
*Limited inheritence. There are times you can't find a parent/ancestor, breaking the entire inheritance model. With these times being essentially arbitrary, it adds arbitrarily to the difficulty of using CSS. On the flip side, elements are not allowed to inherit positional commands, creating a lot of unnecessary positioning issues.
*No expression support. This means you need to be far, far too specific as to what you're trying to do in many cases rather than creating a layout which will work roughly-as-designed in many situations. In particular, this bites hard when you're doing columns, which you cannot define as boxes but end up doing complex and fixed elements.
*Overlapping properties. Properties can step on each other, creating further inconsistencies in inheritance, and requiring in many cases arbitrary decisions as to dominance: something different browsers handle in different ways.
*Limited nesting properties support: There are some properties which cannot be nested in another, despite the fact that there is no essential reason why the approach shouldn't work.
*The net effect of the above is that the layout us being handled by something designed for styling, with predictable effects in that how it's used is quite different from how other forms of documents are created, and has become increasingly specialised.
*There has been a general complete disregard for ease of generating the code in a programatic fashion. In essence, the assumption has been for hand-editing the code rather than allowing in any way for how an editor is going to handle behind-the-scenes decisions for a user.
*tldr version; There is not a good WYSIWYG HTML+CSS editor. There will not be a good WYSIWYG HTML+CSS, or anything resembling such. I hope you like hand-editing.

Last edited by DawnFalcon; 02-28-2010 at 07:37 PM.
DawnFalcon is offline   Reply With Quote