Re: [CSS21] rules="all" attribute specification and border-collapse property

2009/5/1 Gérard Talbot <info@gtalbot.org>:
> Hello all,
>
> The CSS 2.1 specification, section 17.6 (and its sub-sections) should
> *_clarify explicitly_* the relationship between rules="all" and
> border-collapse property. I have been trying to convince IE team to
> implement in their IE 8 browser this browser default rule:
>
> table[rules]:not([rules="all"]) {border-collapse: collapse;}
>
> rules="all" should apply to both border-collapse models and rules="all"
> should not trigger one particular border-collapse model.
>
> It is my belief that rules="all", without any specified border-collapse
> CSS declaration (by default, tables use the separate border-collapse
> model), should render border rules around (each) cells and this is what IE
> 8 fails to do and this is precisely what IE team declines to implement.
>
> One thing IE team replied - and I fully agree with them on this point - is
> that the current CSS 2.1 specification is not clear enough, not explicit
> enough on the relation between HTML 4.01 rules="all" attribute
> specification and border-collapse model.

It is not the CSS2 spec that should define @rules="all", it should be
defined in HTML
Actually, it is defined in HTML5 as
table { border-spacing: 2px; border-collapse: separate; }
table[rules=none], table[rules=groups], table[rules=rows],
table[rules=cols], table[rules=all] {
  border-style: none;
  border-collapse: collapse;
}

but since the @rules=all is not valid HTML5, you should not rely on
this behavior
on the other hand, if you want the separated border model with
@rules=all, you should set it explicitly in your stylesheet.

Giovanni

Received on Friday, 1 May 2009 09:18:47 UTC