> I read that, and I know that issue, but I can't fathom myself where > you'd take the extra height from if this rule wasn't there: the parent's > parent, and if so, how much would you take, and what would the extra > height be calculated relative to.
The easiest answer to that question is another question: where does the space come from in HTML? As I understand it, the browser traverses up the tree until it finds an element whose height it knows. As a result, it's more complicated to render HTML than CSS. It's my understanding that this is the reason why the spec doesn't allow for it: to keep rendering simple. At a fundamental level, I think the folks who made the CSS spec made a bad decision: I think you should make things easier on the people who use a computer. The computer is there to serve the people after all. On a practical level, the time it takes to render even a complex layout of nested tables is trivial (well, it is in anything other than Netscape 4). Even if this wasn't the case, Moore's law would have long since made it so. > Went up to my retreat deep in the Ox Mountains and meditated on a > solution. Then, just as it came to me in a flash of blinding light, I > remembered somebody'd already solved this particular problem before: > > http://www.redmelon.net/tstme/3cols2/ That's a great example. That's far better than any I found (I must of looked at 50 different examples before sending my last message). Nevertheless, it still suffers from some of the issues we've been talking about. Specifically, the widths of the left and right columns are specified in several locations. They are specified as the border for the outer class (similar to how margin was used in the example I posted). They are also specified in negative margin values for the left and right columns themselves. The latter doesn't bother me so much because the left column already needs to know its size. So, specifying the size as a width and negative margin value isn't too bad. However, having to make other elements cognoscente of the column's size is a more serious violation of the principle of orthogonality. Nevertheless, it goes a long way towards mitigating those issues. There are also a few extra divs and classes in there (most notably the separation between inner and outer). That's not a big deal since the tr's and td's in the table example even that out. The style sheet code makes their example at least 3 times as long as the one I posted (I actually rewrote their example with as little code as possible before posting just so I would better understand it), but it goes a long way towards separating presentation from content. All in all, that's a pretty good example. I still think CSS is screwy in this regard, but at least there are workarounds. Ben Rogers http://www.c4.net v.508.240.0051 f.508.240.0057 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Special thanks to the CF Community Suite Gold Sponsor - CFHosting.net http://www.cfhosting.net Message: http://www.houseoffusion.com/lists.cfm/link=i:4:188538 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54