Re: [css-shapes] relative box

On 10/1/13 7:30 PM, "fantasai" <fantasai.lists@inkedblade.net> wrote:

>On 10/01/2013 05:08 PM, Alan Stearns wrote:
>> On 9/30/13 11:57 PM, "fantasai" <fantasai.lists@inkedblade.net> wrote:
>>
>>> 2.2. Basic Shapes
>>>
>>>    # When using this syntax to define shapes, the relevant
>>>    # box is determined by the computed value of the
>>>    # Œbox-sizing¹ property.
>>>
>>> I'm not sure that this makes a whole lot of sense, given
>>> that by default floats use the margin box as their float
>>> area, and by default box-sizing is 'content-box'.
>>>
>>> I don't have a solution in mind, I just think this is wrong.
>>> I think rectangle(0,0,100%,100%) should be equivalent to the
>>> default behavior; that it's not, strikes me as inconsistent.
>>
>> My first inclination was also to have that rectangle be equivalent to
>>the
>> default behavior, but there is value in being able to select different
>>box
>> coordinates (particularly for using the same shape on elements with
>> varying borders). We got several requests to be able to choose the
>> relevant box, and exactly no requests to be able to simulate the default
>> behavior with a basic shape. I think setting 'shape-outside:auto' is
>> sufficient for the default behavior.
>
>It's not that we need a use case for getting the default behavior
>with an explicit <shape>, it's that, if I want to tweak the shape
>starting from the default behavior, having wrapped text jump
>suddenly to the content-box as soon as I try to modify the rectangle
>is not helpful.

Think about it this way - shape-margin is a parallel *alternate* to the
normal margins, not something that gets *added* to the  normal margins.
Having a shape's coordinates use the margin box would make shape-margin
additive. You can vary margins and shape-margin independently - the former
to modify positioning, and the latter to modify wrap behavior. We got
developer feedback that separating these two functions was very desirable.

>
>This system also makes it much harder to get the behavior of
>sizing against the margin box. The box-sizing property does not
>have a margin-box value, and with good reason: people almost
>never want to size a box by specifying its margin-box size. But
>they might want to inset from the edges of that margin box for
>shapes--even if box-sizing is set to border-box. The current
>system requires them to calculate margins (and likely also
>borders and padding) into the <shape> coordinates.

That's not necessary - You can just use the applicable margin value with
the shape-margin property (and set box-sizing to whatever's appropriate
for your circumstances). The shape parameters don't have to change.

Thanks,

Alan

Received on Wednesday, 2 October 2013 02:49:20 UTC