W3C home > Mailing lists > Public > www-style@w3.org > September 2006

CSS3 cascading - about undefined rules

From: Joao Eiras <joao.eiras@gmail.com>
Date: Mon, 18 Sep 2006 04:16:09 +0100
To: "www-style@w3.org" <www-style@w3.org>
Message-ID: <op.tf10o7fxxl3at9@dragast.mshome.net>

The cascading module of CSS (http://www.w3.org/TR/css3-cascade/) currently  
has a small gap: what to do when rules produce undefined values.

Consider the following example
<table><tr><td>
   <textarea src="" style="width:100%"/>
</td></tr></table>

The textarea needs to know the width of its parent, and since it's a table  
it'll fit its content, thus trying to get its child width.
This deadlock can't be solved, therefore it's left for the UA's error  
handling.
Gecko, IE and KHTML ignore the rule in the cascading process, so the UA  
will use other value for the textarea's width, like another css value, the  
UA's defaults or a possible cols attribute.
However, Opera treats the undefined value as 0 and collapses the table and  
it's content, making it invisible, disregarding other values with lower  
priority.
I believe there's no mention in CSS of what to do in these specific cases,  
of recursion and/or undefined values.

There can be other cases where this behaviour happens.
So it should be stressed in the cascading model, that rules that produce a  
undefined value must be ignored.
It's a way to compensate for ambiguity.
Received on Monday, 18 September 2006 03:16:22 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:54:47 GMT