RE: [css3-background] vastly different takes on "blur"

I agree with Brad here.  The full post, from which the quote below is extracted, captured it well I thought.

Whether you think of the border model of CSS or the stroke model of SVG, the blurring *operation* has a thickness or width and the specification currently aligns with that numerically.

The "impact outside the geometry" is a derivative of the blurring effect, not the primary result.

Imagine this line in the specification...
# An outer box-shadow casts a shadow as if the border-box of the element were opaque.

was changed to...
# An outer box-shadow casts a shadow of the border-box.
# UAs are permitted to treat the border-box as opaque
# for the purposes of shadow rendering as a performance
# optimization.

That would arguably open the door for a more compelling user experience.

For such a scenario, would you still consider the inner blur's contribution non-interesting?  I suspect not.

-Brian

-----Original Message-----
From: Tab Atkins Jr. [mailto:jackalmage@gmail.com] 
Sent: Monday, June 21, 2010 6:14 PM
To: Brad Kemper
Cc: fantasai; Brian Manthos; www-style@w3.org
Subject: Re: [css3-background] vastly different takes on "blur"

On Mon, Jun 21, 2010 at 5:55 PM, Brad Kemper <brad.kemper@gmail.com> wrote:
> I liken it to PostScript, where a border is drawn down the center of a path:
> half inside, and half outside. Sure, you may be interested in knowing how
> much wider that border is going to make your box, but at the end of the day,
> if you ask for a 19 point border, you get get a 19 point border, not a 38
> point border. You don't have to specify 8.5 points to get a 19 point border.
> Because it is a border you are setting in PostScript, not a distance that
> the border extends the box width on one side.

My description of why I expect what I do should explain the
difference.  For a border, you care about the whole thing.  The whole
area is visible and important.  Thus, a length specified for the
border width should apply to the whole thing.  That's fine and
uncontroversial.  (SVG also works that way, btw.)

Blur is different, because I simply don't care what sort of blurring
it does inside the box.  Like I said, before this conversation I had
no idea that the blur area was equal inside and outside.  In fact, I
think I can go further than that - I'm pretty sure that I've never
consciously realized that the blur goes into the box *at all*.  I
mean, I certainly saw that the box was lighter just inside the normal
area, but it never consciously struck me that "blur extends both ways
from the box perimeter".  Like I said, as long as it looks pretty, I
don't care about what the blur does inside the box.

When I add a blur to something, my thoughts are "okay, now I want to
blur this out 10 pixels" or sometimes "I want this blurred so that the
total size of the thing + blur is 100px".  My thought processes and
internal dialogue *explicitly* refer only to the length that the blur
extends out of the current shape.

That's fine that you always think about blur explicitly in terms of
the size of the entire blur area.  I don't, and it appears several
other people don't either.  I think about it in roughly the same way I
think about spread.  It's possible that, had CSS used a stroke model
rather than a border model, like SVG, I'd think differently.  But it
doesn't, and I don't.

~TJ

Received on Tuesday, 22 June 2010 01:44:46 UTC