- From: Mikko Rantalainen <mikko.rantalainen@peda.net>
- Date: Mon, 02 Jan 2006 12:20:35 +0200
- To: www-style@w3.org
Ian Hickson wrote:
> On Fri, 30 Dec 2005, Daniel Schierbeck wrote:
>
>>I often find myself using nested DIV tags when I write XHTML documents.
>>That way I can position the "content" area of the document through CSS.
>>
>> ...
>> <body>
>> <div id="wrap">
>> <div id="header"/>
>> <div id="nav"/>
>> <div id="content"/>
>> <div id="footer"/>
>> </div>
>> </body>
>>
>> #wrap {
>> width: 500px;
>> margin: 50px auto;
>> }
>>
>>I want to be able to skip the #wrap element, since it adds neither semantics
>>nor structure to the document (it's the only child of the BODY element)
>
> Why not style the <body> element directly?
I agree that in this case styling the <body> element is the right
solution. However, there're cases where you really wanted to have
::inside pseudo-element. And that's for cases where the backwards
compatible styles go to the "real" element. For example, if I have a
fragment like
...
<foo>
<a />
<b />
<c />
<d />
</foo>
<bar>
...
</bar>
...
And say I want to say
foo {display:table; width: 100%; height: 50%;}
foo::inside {display: table-cell; vertical-align: middle;}
And in case the UA doesn't support ::outside nor ::inside, I'd
prefer it to use style
{display:table; width: 100%; }
instead of
{display: table-cell; vertical-align: middle;}
(I'm not sure where the automatically generated table elements go. I
hope that foo and foo::inside are part of the same table above. The
target is to make foo element to fill the parent element half full
and have it's contents vertically centered. And as a fallback foo
should still take the same amount of space but the content wouldn't
be vertically centered. I use the table construct because CSS 2.1
doesn't allow vertical-align in other block-level elements but
table-cell elements. If I say foo {display:table-cell} I cannot use
percentages to define the size of the element.)
For some constructs the most important style is in the outer element
and if that's the pseudo-element, things can go seriously wrong with
the older UAs. In short: I think that ::inside is required for a
smooth transition to ::outside.
--
Mikko
Received on Monday, 2 January 2006 10:20:57 UTC