Re: [css3-gcpm] border-length

On Wed, Oct 15, 2008 at 6:07 AM, Håkon Wium Lie <howcome@opera.com> wrote:

>
> Also sprach Håkon Wium Lie:
>
>  > Now, there may be better or more powerful methods to express this. At
>  > the recent F2F it was requested that we find a way to express the
>  > "inverse" of border-length, where corners are hidden, but lines
>  > between them are visible.
>  >
>  > Proposals for how to address this is welcome; this is a fairly immature
>  > part of the specification.
>
> Answering my own request, how about a property that list visible
> and invisible lengths, starting with a visible length. For example:
>
>  border-parts: 1em auto 2em
>
> would split the border into three parts: (1) a visible 1em part, (2)
> an invisible part which fills the remaning room until (3) a visible
> 2em part appears.
>
> The inverse border would be:
>
>  border-parts: 0 1em auto 2em
>
> That is, the first part is visible, but since it has a 0 length, it
> doesn't show.
>
> The initial value would be:
>
>  border-parts: auto
>
> If more than one 'auto' value is specified, it's split equally between
> the two parts:
>
>  border-parts: 1em auto 2em auto 2em
>
> It probably makes sense to have 'border-parts' as a shorthand property
> for these:
>
>  border-parts-top
>  border-parts-right
>  border-parts-bottom
>  border-parts-left
>
> To set the commonly used short border over the footnote area, one
> would say:
>
>  @footnote {
>     border-top: thin solid black;
>     border-length: 3em;
>  }
>
> To make the border appear on the right side, you would say:
>
>  @footnote {
>      border-right: thin solid black;
>      border-length: 3em;
>  }
>
> This idea feels better to me than the 'border-length' proposal:
>
>  http://dev.w3.org/csswg/css3-gcpm/Overview.html#the-border-length


Man, I was all ready to suggest using negative numbers on border length to
make it start from the middle rather than the corner, but this blows that
out of the water.  Yes, border-parts is a substantially better proposal than
border-length.

I'd suggest putting an example into the spec of something you can *only* do
with border-part - right now you're just duplicating what border-length can
do.  Just use the examples you've already come up with in your email, as
they demonstrate the substantial power inherent in this.

Taking this idea slightly further, might this be a place to introduce flex
units?  The auto keyword in this context is equivalent to 1fl, after all,
and this would address the requests that a few other authors have.  I'd like
to see a comprehensive Flex module at some point, though...

~TJ

Received on Wednesday, 15 October 2008 14:28:16 UTC