W3C home > Mailing lists > Public > public-fx@w3.org > July to September 2013

Re: [css-images][css-compositing] Blurring an elementís backdrop

From: Rik Cabanier <cabanier@gmail.com>
Date: Thu, 19 Sep 2013 11:01:16 -0700
Message-ID: <CAGN7qDC+BaVhWt3SEBg+-1qHjAB6U4hYXdoxyNJEde-RdFwVTw@mail.gmail.com>
To: Dean Jackson <dino@apple.com>
Cc: Dirk Schulze <dschulze@adobe.com>, Lea Verou <leaverou@gmail.com>, "public-fx@w3.org" <public-fx@w3.org>, www-style list <www-style@w3.org>
On Thu, Sep 19, 2013 at 10:08 AM, Dean Jackson <dino@apple.com> wrote:

> On 18 Sep 2013, at 1:05 pm, Dirk Schulze <dschulze@adobe.com> wrote:
> > I suggest adding a new keyword 'backdrop' as CSS Image. This can be
> filtered with the CSS Image filter()[3] function and blended with
> background colors or background images and the 'background-blend-mode'
> property. This would produce results where the backdrop directly behind the
> element would always be blurry, but around the element it isn't. This looks
> even nicer on scrolling and other interactions.
> I think I suggested a separate property: background-filter (I canít
> remember if I emailed this, or spoke up at a meeting, or just thought of it
> in the shower).

> The reason is that I think in most cases you want to draw normally and
> just apply the effect to the background. There is no need to consider the
> content of the element to be filtered for this effect. However, the name is
> a bit misleading because, as you know, it is not filtering the elementís
> background (in CSS terms), but its backdrop.

Maybe backdrop-filter is less confusing.

> [Aside: I know that we proposed primitive blending and transformation
> operations for shorthands in the early days, so you could apply a filter
> and blend it into an unfiltered form of the element.]
> > As a note, this keyword would still need to rely on the definition of
> isolation groups[4]. Every element creating an isolation group because it
> has a stacking context or the 'isolation' property set to 'isolate', will
> have direct effect on this keyword and the requested backdrop. (The same
> way as it influences the 'mix-blend-mode' property[5].)
> So, here is where it gets tricky. Background/drop filtering is quite
> expensive, and sometimes extremely expensive in some compositing set ups.
> In the worst case a browser will have to draw the tree twice, possibly
> reading back pixels before applying the effect. And that could be per
> element that has a filter. We can define isolation groups to make this
> easier, but this will be quite difficult to understand.

Well, we're already there with CSS filters and blending:-)

> In our experimentation itís quite confusing that changes in sibling
> elements or random properties can trigger a situation where the background
> becomes difficult to obtain or radically slower.
> Window servers often do these effects with tricky hacks. Their content is
> also nowhere near the complexity that a Web page can be.
> I guess Iím saying that, like blending/compositing, Iíd really love to
> expose this, but it could be a pain to implement and difficult to author.

Would it be possible to implement this practically on Safari? I thought
there was an API to do apply a filter during compositing but I can't find
it in the documentation.
Received on Thursday, 19 September 2013 18:01:46 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:49:46 UTC