Re: [css3-background] Issues and Proposed Resolutions

On May 18, 2008, at 10:30 PM, L. David Baron wrote:

>>
>> Add "spread" value to 'box-shadow'.
>>  http://www.w3.org/Style/CSS/Tracker/issues/41 ISSUE-41
>>
>>  Resolve: Add "spread" as optional fourth length value after "blur".
>>
>>  http://krijnhoetmer.nl/irc-logs/css/20080512#l-503
>
> Is the idea that a spread is like a blur, but not blurry?

Perhaps, in the way it is implemented. The idea of spread is really to  
thicken (or thin, with negative values) the shadow prior to blurring.  
By thickening I mean that it covers more area around its edges, by the  
amount of the spread, similar to the way a border does on the element  
itself.

> Note that the text in the spec differs from the proposal in the
> issue in that the text in the spec implies that spread causes
> curvature at the edges, whereas the text in the issue implies that
> the corners remain square.

The difference is based on how the spread is generated, and that could  
be vendor specific. If it is generated by stroking the shadow, based  
on the vectors of the element, then the corners can be very square,  
just as in vector-based illustration programs like Adobe Illustrator.  
With such programs, you can set the miter limit on how pointy the  
corners can become, or you can opt for rounded joins.

In my examples, the corners of the spread shadows were rounded for a  
different reason: I wasn't using vectors to generate them. I was using  
PhotoShop, which used a different way to add spread that does not use  
the vector path of the object. The side effect is that the corners of  
the spread are not sharp.

I can't tell you how exactly the shadow is thickened up in PhotoShop  
without vectors. I can guess that perhaps it is somewhat like  
expanding a shadow the way a blur does, but without blurriness. There  
are some aspects to the way that PhotoShop does it that I don't like.  
But I think you would need something similar for bitmapped letters if  
you were to apply this idea to text-shadow.


> If the former was intended, you need to define what negative spreads
> do.

If the "former" is adding a vector stroke, then negative spreads (aka  
"chokes") would be subtracting a vector stroke. Those are easier,  
because they always result in sharp corners before any blurriness is  
added.

Received on Monday, 19 May 2008 14:21:34 UTC