Re: The Spec: On the `edge' of despair

On Tue, Nov 15, 2011 at 11:13 AM, Tab Atkins Jr. <jackalmage@gmail.com>wrote:

> On Tue, Nov 15, 2011 at 7:22 AM, Michael Witten <mfwitten@gmail.com>
> wrote:
> > The CSS 2.1 specification uses some very confusing (if not erroneous)
> > terminology in describing the fundamental concepts of the Box Model:
> >
> >  http://www.w3.org/TR/2011/REC-CSS2-20110607/box.html#box-dimensions
> [snip]
> > The uses of the words `perimeter', `edge', `width', and `box' are
> > completely unreasonable unless the following statements are
> > considered reasonable:
> >
> >    * The `perimeter' of an area really means the `outer perimeter'
> >      of an area.
> >
> >      The word `edge' is a suitable synonym for the word `perimeter'.
>
> Yes, this seems reasonable.  The spec says exactly that.
>

I don't read these as synonymous. The perimeter of an area is merely the
boundary of that area. In the present context, all areas are closed
areas. In contrast, an edge is a component (segment) of the perimeter.
Since we are dealing only with rectangular areas in the present context, we
have four (named) edges (per area), but we have only one perimeter.

Note that it is useful to distinguish between

(1) absolute direction names of edges (left, right, top, bottom) [actually
relative to what is (at some time) called left, right, top, bottom on the
presenting media] and

(2) writing mode relative direction names of edges (start, end, before,
after)


> >    * The phrase `four content edges' means:
> >
> >          top content edge, right content edge,
> >          bottom content edge, and left content edge
> >
> >      which doesn't make sense until the next statement is discovered
> >      by reading further into the specification.
> >
> >      [Repeat this statement for each of `padding', `border', and
> >      `margin' in place of `content'.]
>
> I don't understand which statement you mean by "the next statement".
> In any case, this seems clear and obvious in the spec.
>
>
> >    * The phrase `content box' means "the box's content area".
> >    * The phrase `padding box' means "the box's padding area".
> >    * The phrase `border box'  means "the box's border area".
> >    * The phrase `margin box'  means "the box's margin area".
>
> This equivalence isn't stated explicitly, but it appears obvious.
>
>
> >    * The word `width' is a suitable synonym for the word `area'.
>
> No, that's not true, and it's not suggested in the text.  The "width"
> talked about in this chapter is the distance between a box's edge and
> the nearest enclosed box's edge. This can be different for each of the
> four edges.  It's almost never synonymous with "area", as even when
> the padding is zero, for example, the padding box will have the same
> area as the content box.
>

agreeing with Tab, width is clearly *not* synonymous with area

also, like the absolute edge names, width is an absolute extent name
meaning the distance between left and right edges

the absolute extent names width, height are to be distinguished from
writing mode relative extents { inline-progression-dimension and
block-progression-dimension); for horizontal writing modes, these
correspond to width and height, respectively, but for vertical writing
modes, these correspond to height and width, respectively;


> >    * The phrase `top edge' is equivalent to the phrase `top of the edge'
> >      (or at least the `edge' in `top edge' has no meaning by itself).
>
> No, it refers to the top edge - that is, the top segment of the
> perimeter.  I think your trouble here is that you're stuck on the fact
> that the *entire* perimeter of the box is called an "edge", and then
> that edge is broken up into four sub-edges.  An edge can be made of
> edges!
>
>
agreeing with Tab, 'edge' is 1-dimensional, it has only length, and it is
located between pixels to the perpendicular; therefore, there is no 'top of
the edge'

=====

for more fun with terminology in this area (by way of comparison), see
XSL-FO [1]

[1] http://www.w3.org/TR/2006/REC-xsl11-20061205/#area_model

Received on Tuesday, 15 November 2011 18:40:01 UTC