Re: [css-masking] 'mask: none' clear all masking operations

On 06/25/2013 06:07 PM, Dirk Schulze wrote:
>
> On Jun 25, 2013, at 4:33 PM, fantasai <fantasai.lists@inkedblade.net> wrote:
>
>> On 06/25/2013 04:20 PM, Dirk Schulze wrote:
>>> If fantasai is on the call tomorrow, I would like to discuss mask/mask-box-image
>>> shorthand and if/how it is possible to reset all masking operations with mask: none.
>>
>> You make a shorthand tree like this:
>>
>>    mask
>>     +-- mask-layers
>>     |    +--mask-layer-image
>>     |    +--mask-layer-position
>>     |    +--mask-layer-repeat
>>     |    etc.
>>     +-- mask-box
>>          +--mask-box-source
>>          +--mask-box-slice
>>          +--mask-box-repeat
>>          etc.
>
> Right, I did not meant to question that it is possible. If we
> follow this proposal, I would suggest:
> - 'mask' shorthand can just reference an SVG Mask or disable
>    masking entirely. 'mask-layer' and 'mask-box' can just
>   reference CSS Images. This would solve the SVG resource or
>   CSS Image detection problem in a different way for masking.

Well, it's fairly uncommon to have a CSS shorthand that has
capabilities not expressed via its longhands. (We only have
one example I know of, the UI font keywords, and we're not
especially happy with those IIRC.)

It would be better if the SVG mask was handled either in 'mask-layers'
or as a 'mask-element' subproperty of 'mask' or something.

> However, an uber-shorthand also has some drawbacks. It will
> be significant more difficult to understand how masking works.
> The author needs to know that 'mask' is a shorthand, which can
> not do everything that the longhand properties can do. (To be
> honest, I never thought about border as a shorthand for other
> shorthands but with limited control before you mentioned it.)
> The implementation and maintenance cost might increase as well.

This is actually a reasonably common pattern in CSS shorthands.

~fantasai

Received on Wednesday, 26 June 2013 17:56:34 UTC