- From: Rikkert Koppes <rikkert@finalist.com>
- Date: Wed, 12 Sep 2007 19:41:15 +0200
- To: Jay Levitt <lists-wwwstyle@shopwatch.org>
- CC: www-style@w3.org
I'd say that your idea looks a lot like the css3 advanced layout module Rikkert Koppes Jay Levitt schreef: > > After a 6-year hiatus from professional programming, I'm creating my > first non-toy web application. Read all the CSS books, keep up on the > lists and the newsgroups, found the bugs and the hacks. Tried to do a > simple thing - create a form to enter a U.S. postal address - and hit > a big philosophical brick wall. > > I'm coming at page design from a different direction - I spent 12 > years at AOL working on server-side apps. Our forms layout engine had > some simple primitives: everything belonged to either a horizontal or > a vertical group, and every group had a vertical and horizontal > alignment. Labels were special, and you told them where to sit > relative to the input field. By nesting groups, you'd create the > layout you want. > > That's actually not hard to replicate in CSS; I can create divs that > go from horizontal to vertical depending on what their class is, and I > can create labels that sit on top or to the left depending on their > class. And they nest nicely and work in floated column layouts. > > But that requires that I specify the class of each div or input field > in HTML. And that violates the separation of presentation and content. > > (At AOL, we separated presentation from content by having developers > do the basic grouping of content, and hand over the forms to designers > who did pixel-perfect positioning for each individual client > ("browser") version, country, language, and screen size. That didn't > scale so well either.) > > Now, each input field has an ID, as do their surrounding divs. So I > could, in theory, either (a) repeat the "horizontal" or "vertical" CSS > properties for each ID, or (b) find every ID on every page in my app > that wants to be horizontal and put it all one in big selector. > Neither one of these is attractive, DRY or scalable. And of course > either one requires you to create non-semantic grouping DIVs to hang > the CSS off of. > > To my novice eye, what I want is a layer in between HTML and CSS that > says (pseudocode): > > #firstname #lastname {group: horizontal; id: name;} > #city #state #zip #country {group: horizontal; id: region;} > #name #address1 #address2 #region {group: vertical; } > > The HTML deals only with semantics and function, providing the ID of > each field; the pseudocode above maps and composes those fields into > layout groups; CSS-as-we-know-it specifies the style of each group. > > That can't be done today with pure HTML and CSS; JavaScript could turn > "group" into a DIV and set its class and ID, but you shouldn't need > JavaScript for basic form layout. > > I can't imagine I'm the first person to come up with this, but I have > no idea what to search on... can anyone point me to someplace this has > been discussed to death for CSS3 (whatever that means now)? I checked > out XForms but they don't seem to accomplish this either. > > Jay Levitt > > > > >
Received on Wednesday, 12 September 2007 17:38:40 UTC