- From: Giovanni Campagna <scampa.giovanni@gmail.com>
- Date: Tue, 20 Jan 2009 20:12:00 +0100
- To: Boris Zbarsky <bzbarsky@mit.edu>, www-style@w3.org
- Message-ID: <65307430901201112u2d38f536p55f437af19f1b44c@mail.gmail.com>
Uhm... I probably misunderstood the spec: I always thought that
::before/::after introduced a new element at the same nesting level.
If ::before is actually what I called ::before-content, then ::inside is not
needed anymore. (You can use ::outside reversing the perspective)
But how is this supposed to work when the ::before pseudo-element is
actually outside the element itself (because the element is moved, like in
footnotes)?
Moreover, I imagined that, because ::before pseudo-el were actually before
element itself, they inherited display as initial value (so before a block
you get an other block, before an inline you get an inline, before a
table-row another table row). Generated Content Module says that initial for
::before/::after should be inline, but that breaks the example in the same
spec, section 4.2 (the example that I read too fast, without paying
attention that selector was applied to the row, not to the cell).
Sorry for wasted time,
Giovanni
2009/1/20 Boris Zbarsky <bzbarsky@mit.edu>
> Giovanni Campagna wrote:
>
>> td::before {
>> text-align: left;
>> content: attr(my|currency,string);
>> }
>> td {
>> text-align: ",";
>> display:table-cell; /* from UA defaults */
>> }
>> but this approch has a limit: it introduces a new table cell
>>
>
> Uh... it does? It shouldn't. Why does it?
>
> > that moves
>
>> all subsequent cells on the rigth, destroying the whole layout. What I
>> need is content before cell content, not before cell box itself.
>>
>
> That's what ::before does, yes. It inserts content inside the box, before
> its DOM children.
>
> -Boris
>
>
Received on Tuesday, 20 January 2009 19:14:46 UTC