Re: CSS2 errata - border backgrounds

Ian Hickson wrote:
| 
| On Tue, 31 Jul 2001, fantasai wrote:
| >
| > I know background color and background image are
| > separate layers, but I see them as both forming a
| > single entity-- the background. If I'm dealing
| > exclusively with the background, then they are
| > separate layers.
| 
| Maybe, then, the clarification of the spec should
| make them distinct concepts, and say that "the 
| background colour layer should extend to the padding
| edge. The background image layer should extend (and
| be relative to) the padding edge, and should be
| painted on top of the background colour layer".

Well, sure, you could put that in the spec, and I
certainly won't argue, but it does seem to contradict
the rest of your post.

| > The picture does extend under the border in cases
| > where the it does not have a plain edge.
| 
| Again, only because it easier to let the paint bleed
| when trying to achieve the look of a sharp edge.

And the frame only overlaps the canvas because that's
how it gets attached, not because the canvas belongs
under the frame.

| > BTW, is the background fixed and positioned to
| > the entire viewport, or just the viewport of that
| > element? I mean, if I have an element with
| > constrained size and scrollbars (like a textarea),
| > is the background image fixed to the viewport of
| > the entire document or just the textarea's box?
| 
| Technically, the viewport. This issue is (was?)
| under discussion.

So CSS2 doesn't allow a fixed background centered
on an element..
I suggest that capability for CSS3.

| > | > 17.5.1 - The image depicting a table with background-
| > | >          colored, double-bordered cells does not show
| > | >          any of the background between the two stripes
| > | >          of border.
| > |
| > | Um, yes it does.
| >
| > I meant the "red" background--the background color of the
| > element to which the border belongs.
| 
| Ah, indeed. That returns to the original question of what on
| earth should happen on a table, though.

Well, I wouldn't suggest a radically different
behavior for tables. Therefore, define the
behavior for blocks first, and then adapt the
rules for tables.

| > I believe the confines of the background area
| > should be consistent--that is, the same for
| > both background color and image.
|
| Besides it being "logical", which you haven't
| really provided any argument for, why do you
| believe that? Given that this is an issue of
| aesthetics, I'm not sure there can be a "right"
| answer.

This is why:

- It is consistent treatment of a single concept.
  One can create a background with 50 different
  layers, but once one puts it together with the
  foreground, the distinction is gone. Everything
  else is laid over this base layer called the
  background. If you want to introduce a middle-
  ground, that's something different.

- It lets a transparent border /act/ transparent.

But, of course, it is easier to argue the existence
of a mathematical relationship than an artistic one.
Perhaps we should ask someone else what they expect
transparent borders to do?

| > If I ask for a transparent border, the border area
| > should be indistinguishable.
| 
| In that case, what is the difference between a
| transparent left border and a left margin, say?

I can have both, each with a different unit. I can
let the margin cascade as it will, and dynamically
change the border without redefining the margin. 

Why do you think transparent borders were defined?

| > If it's not, that will be seen as a bug.
| 
| If it is, it seems pretty useless to me.

What, is the use of a transparent border unless
it is invisible? If I want a solid-colored border,
I'll use a solid border--that's what it's for.

If you don't like transparent borders, then imagine a
dashed one--that's part transparent.

| > Note that background images aren't always pictures;
| > they are most often textures. Why should the fabric
| > stop being fabric when it reaches some invisible
| > barrier? Why should granite be laminated around the
| > edge of the box? Is there a reason the sky lacks
| > clouds in this unnaturally straight rectangular area?
| 
| Why would the fabric/granite/sky have a transparent
| border (or any border) in the first place?

Because it looks nice, that's why. At least, IMO.

Take a closer look at my mozilla.org sample with the
Granite stylesheet on. Examine the navigation bar.
Click on some links. Hover over them with your cursor.
You can try tabbing through them, too.
Do you see the borders?

Is this an unreasonable use of CSS?

Received on Sunday, 5 August 2001 22:45:10 UTC