- From: Tantek Çelik <tantek@cs.stanford.edu>
- Date: Thu, 12 Feb 2004 12:15:29 -0800
- To: fantasai <fantasai@escape.com>, <www-style@w3.org>
On 2/12/04 9:52 AM, "fantasai" <fantasai@escape.com> wrote:
> 
> in Mozilla bug report 4510 Ian Hickson wrote:
>> 
>>> STYLE_NONE means there's no border; i.e. the border width must calculate to
>>> zero no matter what it's specified value.
>> 
>> It must _compute_ to zero, even, so this should happen during the cascade.
>> 
>> e.g.:
>> 
>>   div { border: none 2em red; }
>>   span { border: inherit; border-style: solid; }
>> 
>>   <div><span> test </span></div>
>> 
>> ...should not have any border. (We currently do this wrong. It works in
>> Opera.)
> 
> In
>  div {border-style: none;}
>  span { border-style: inherit; border-style: solid; }
> 
> Does the span have a border or not?
In your example it does, because it is equivalent to:
 div {border-style: none;}
 span { border-style: solid; }
but your example is not the same as Ian's.
Splitting up the shorthand in Ian's example derives to:
  div { border: none 2em red; }
  span { border-style:inherit; border-color:inherit; border-width:inherit;
border-style: solid; }
which simplifies to (since the latter declaration wins in a rule):
  div { border: none 2em red; }
  span { border-color:inherit; border-width:inherit; border-style: solid; }
Now, does the span have a border or not?
Specifically, does border-width:inherit inherit a zero width computed border
from the div, due to the div's computed border-style of none?
Tantek
Received on Thursday, 12 February 2004 15:16:03 UTC