- From: Dirk Schulze <dschulze@adobe.com>
- Date: Wed, 26 Jun 2013 12:57:34 -0700
- To: fantasai <fantasai.lists@inkedblade.net>
- CC: "www-style@w3.org" <www-style@w3.org>
On Jun 26, 2013, at 11:38 AM, Dirk Schulze <dschulze@adobe.com> wrote: > > On Jun 26, 2013, at 10:56 AM, fantasai <fantasai.lists@inkedblade.net> wrote: > >> 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.) > > That seems to be the case for border. Authors can not set border-image with border, but border still affects border-image. I suggested doing the same. > >> >> It would be better if the SVG mask was handled either in 'mask-layers' >> or as a 'mask-element' subproperty of 'mask' or something. > > This would introduce another property but still lead to the same problem and solution as if SVG mask and CSS mask were combined. We discussed that in a different context before. So if mask could set SVG and CSS Mask, then it would do exactly the same as mask-layer. Quite confusing as well. Thinking about your proposal more, I actually take my response back and claim the opposite :). What about the following structure: mask +-- mask-layers | +--mask-layer-image | +--mask-layer-position | +--mask-layer-repeat | etc. +-- mask-element +-- mask-box +--mask-box-source +--mask-box-slice +--mask-box-repeat etc. mask-element: <url> [alpha | luminance]? | none mask: <mask-element> * mask-element is separated of mask-layers. * mask-layer, mask-box just reference CSS Images * mask shorthand overrides all properties of mask-layer, mask-element, mask-box * mask syntax does the same as mask-element Would that be reasonable? Greetings, Dirk > >> >>> 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. > > It is fairly uncommon to have a shorthand for shorthands. border is the only one I know (not saying that there might be more). > > Greetings, > Dirk > >> >> ~fantasai >> > >
Received on Wednesday, 26 June 2013 19:58:00 UTC