Re: http://www.php.net/cvs-php.php (fwd)

From: Date: Thu, 11 Sep 2003 19:04:39 +0000
Subject: Re: http://www.php.net/cvs-php.php (fwd)
References: 1 2 3 4 5 6 7  Groups: php.mirrors 
Request: Send a blank email to php-mirrors+get-20978@lists.php.net to get a copy of this message
    Correct, the CSS attribute width overrides any effect the size
    attribute has (in IE that is. If Opera behaves similarly, we
    need to consider that this behaviour is a valid
    interpretation of relevant W3C specs.)
I was very much curious of what behaviour is the correct regading the size attribute, and I need to point out, that as far as I have found out, none is correct. The INPUT is defined as an inline element (latest HTML 4, which applies to XHTML too), with the other form elements: <!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON"> <!-- %inline; covers inline or "text-level" elements --> <!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;"> In the CSS spec, width is defined as: | This property specifies the content width of boxes generated by | block-level and replaced elements. This property does not apply | to non-replaced inline-level elements. Going on on what is a replaced inline-level element, it turns out that INPUT is a replaced inline element, so the width should apply to it. it also turns out that these elements should have browser defined intrinsic dimensions: | Intrinsic dimensions
|    The width and height as defined by the element itself, not imposed
| by the surroundings. In CSS2 it is assumed that all replaced elements | -- and only replaced elements -- come with intrinsic dimensions. | | Replaced element
|    An element for which the CSS formatter knows only the intrinsic
| dimensions. In HTML, IMG, INPUT, TEXTAREA, SELECT, and OBJECT elements | can be examples of replaced elements. [...] CSS does not define how | the intrinsic dimensions are found. So CSS assumes that there should be an intrinsic dimension, but does not define how it should be computed. Mozilla uses the size="" to define the intrinsic dimension, but IE and Opera does not do this (they don't seem to be backward compatible). But then a CSS width is applied to both the table and the replaced inline element, which should be applied to the elements as stated above. So IE and Opera is not backward compatible in form element default sizing, and then they are not CSS 2 compatible in box sizing for these elements as far as I have see.
but this seems to be the only logical explanation of why IE and Opera makes the input fields appear so small. Therefore the only logical solution was to provide a width for the table.
    The assumption that IE does the Right Thing by simply giving
    the table more space is unfortunately incorrect.  As I said
    earlier, I tried this already (using width=100%) and it makes
    little difference.  The input fields currently look like
    size=5.
I will comment out the .max rules now. But with my relevations above it seems to be clear to me that we deal with bogus browsers and incorrectly implemented specs in this case. Goba

« previous php.mirrors (#20978) next »