- From: Orion Adrian <orion.adrian@gmail.com>
- Date: Fri, 1 Jul 2005 11:03:18 -0400
- To: www-style@w3.org
On 7/1/05, Laurens Holst <lholst@students.cs.uu.nl> wrote: > Orion Adrian wrote: > > >I used to teach programming languages and web languages. One thing > >that I noticed time and time again is that new people coming to the > >language had a lot of trouble with layout in CSS. Other properties > >were fairly easy to get, some like text-transform gave them a little > >pause. But by and far the hardest thing was layout. > > > > > Layout in CSS is fine. It is under-supported by user agents. Did you > ever explain layout to your pupils as declaring divs to be table cells > and rows, with display: table? I'd say that is surely intuitive. Except it's not. First, use of table layout usually requires changing document source which is a big no-no. Go ask the HTML folks - they'll tell you the same thing. Some people here will say the same thing. display: table doesn't work because of the requirements it places on source. It's also kind of kludgy with all the anonymous boxes it produces. > Other parts of layout may be under-developed by CSS, but that can be > improved, and is being improved. I do not understand where you got the > notion that it would be better to drop CSS in favour of something > entirely new. Never said that. I said improve CSS in this particular way to make it easier for web designers to use it directly. > >CSS layout fails on a lot of core usability grounds. I recognized the > >failure even before I had read the books that described why they were > >failures. > > > >CSS layout isn't obvious. They way float is described doesn't lead > >many to the idea that it should be used for multi-column layout. > > > > > That is because IT SHOULD NOT. Repeat: floats are NOT for layout. > > It's just that they are currently used so, because absolute positioning > and display: table is not implemented well by (...drums...) IE. > > Simple. Yeah, irony aside it still stinks. I use CSS a lot. I was an early adopter of it, HTML, XML, and XHTML along with XLink, XForms, XSLT and many other technologies. I'm have a site entirely written in XSLT, XML, XHTML, CSS. I'm quite proud of it. However, I hate maintaining it. Not because IE doesn't work well with it, but because the CSS required to make it work is screwy. I don't just write what I want the CSS to do based on what in my head. I convert it to what CSS wants to see. This is where the problem is. If I want a particular font, style of border or color, it's very clear and obvious. If I want a particular layout, I must translate. > >Organizing space on a page, which is usually done from an overhead > >view all at once here is done by manipulating a lot of properties > >(margins, padding, etc). These produce complex interactions that are > >hard to predict for someone whose has less than a lot of experience. > > > > > I'm sorry to disappoint you, but I find paddings/margins/borders to work > very comfortably. Even collapsing margins make sense. Box models can be > argued about. By the way... no one on this list matters. Only the populace who uses the product does. That's why I brought in the part about the teaching thing. We're lousy test cases. Why, because we all know the topic too well. It's hard for a person to realize he's lost his audience unless he looks at their faces when he is talking. > >One of the major rules of usability is that your product's model > >should match the existing mental model of the person using the > >product. I feel CSS fails on this point. > > > If a mental model is broken (e.g. the mental model of HTML with TABLE > and FONT tags), people need to be educated. That is definitely possible, > and happening right now with CSS. Key words like semantics and > separation of content from layout get a lot more attention nowadays and > more and more people learn about them and are convinced about their > benefits. People should never need to be educated. Technology is our servant, not the other way around. Technology should aid users, not require years of education. That's the goal. Education is a necessity and fun for a lot of people, but we shouldn't force people to learn about the created world, just the natural one. > >And I'm here not to promote > >Microsoft, but to promote those values that I feel would make CSS > >better using Microsoft's success as an example of why I feel they > >would be benificial. > > > >I hope that clears things up. > > > > > Not really. I don't see how you think CSS is insufficient for layout. > You are reasoning based on what you use for web development now, not on > what you could use per the CSS specifications. This is just getting frustrating. I don't like the spec with regards to layout. I don't like the spec. This isn't about what's implemented. It's the spec. Please understand. (Limited to layout though). > The only reason why it lacks for layout in practical situations is > because a web developer cannot use display: table and absolute > positioning properly, and that is exactly *because* Microsoft failed to > implement those properly (and let's not even mention all the other CSS > that needs MS-specific hacks). So it is really quite skewed that of all > things, you use Microsoft as a 'good example'. No, it's because we hate them. We really, really do. I have never had one student voluntarily use display: table. Why, they're messed up. They don't match the mental model of the average person at all. I realize I'm starting to loose it from abject frustration here. > Microsoft stopping development on Internet Explorer after getting a > monopoly position is the SOLE reason for the standstill of CSS. Today, > we are still limited to using the same CSS as 4 years ago ONLY BECAUSE > that is what the user agent 80% of the general public uses supports. > > Imagine how much more we could do if that hadn't happened! Less than nothing. Microsoft in many ways did CSS a favor by keeping it at a level that was simple and easy to understand. Growing as it has, if CSS3 had been implemented by now, people would still be using a mish-mash of 1 and 2. Hard to imagine I bet. Orion Adrian
Received on Friday, 1 July 2005 15:03:25 UTC