Re: display:none and mixed SVG and HTML

On Thu, Feb 2, 2012 at 6:11 AM, Boris Zbarsky <bzbarsky@mit.edu> wrote:
> On 2/2/12 8:30 AM, Tab Atkins Jr. wrote:
>>  Strictly, it requires that counters don't set/reset/increment, quotes
>> don't start/end nesting, transitions don't start, and animations don't
>> run.  This can be accomplished by not generating boxes, but also just
>> by explicitly shutting those properties down.
>
> CSS has no provisions for this.  If there are boxes, then the counters and
> quotes are affected.  Think trivial case of a foreignObject inside a paint
> server; if you generate boxes for the HTML in that foreignObject, how
> exactly do you not allow them to increment counters if they have counter
> styles?

This is not hard, actually.  The counter-* properties, for example,
actually just need to not affect any counters started outside the
display:none subtree.  This means that a display:none subtree should
probably form an isolation boundary for counters, so counter-increment
can't affect a counter from outside.  (As long as it's on a descendant
of the display:none element, counter-reset can't have any effect
anyway - the scope it generates will automatically be restricted to
within the subtree.)  Similar reasoning applies for quotes.

> Again, there are various ways this could be defined, but please don't
> pretend that there is no problem.  There is one, and it needs changes to CSS
> or SVG or both to resolve.

I agree that changes are likely required, but they're fairly trivial.

~TJ

Received on Thursday, 2 February 2012 14:25:18 UTC