CSS support update in Netscape4 Beta 3

Hopefully this hasn't been covered to death yet in other circles
(I haven't seen anything in this forum yet though)
----------------

This document is an update survey on the capabilities of Netscape
Communicator in Beta (PR) 3 with respect to the CSS1 recommendation. 
I will not cover what worked since last time - instead I will focus 
on what support has been added, and what is still lacking. I have not 
checked into inheritence much at all since I hear NS still does a 
very poor job on that score.

Testing Situation:
      Tests performed on Win95 running on a Pentium system using 
      Netscape Communicator Pro (32 bit.) Most feature testing was 
      performed ad-hoc, although I am starting to build a suite of 
      test files for this. In order for a feature or property to 
      be considered 'supported', it had to appreciably control the
      expected display characteristics when property values were 
      altered.

General CSS behavior:
   Good/fixed: 
     - Bad CSS syntax does not show up within the document body any 
       more.
     - Use of the STYLE attribute for in-line styles now works!
     - Bug with default value of 'Text-decoration' appears fixed - 
            default value is now 'none'
     - Units: inch, centimeter, millimeter and point absolute length units 
            now supported. Em and Ex-height now supported also!
     - Units: Percentages are now supported! - although not as 
            expected in some cases. Notes on that will follow as 
            appropriate.
     - Units: 'rgb()' syntaxes now supported - both integer and
            percentages
     - TYPE attribute: It now seems to default to 'text/css' for 
            STYLE and LINK instead of 'text/jss'. Admittedly, this 
            is based on only a VERY rough check, and may be incorrect. 
     
   Bad:
     - @import still does not work
     - Pseudo elements and Pseudo classes still do not work
     - Units: Picas still not supported. 
     - More? I know I just scratched the surface...
     - See more bad behavior notes at the end (*)

Supported properties:
     - Font-size: 
         * 'larger'/'smaller' relative values now supported.
         * 'xx-small' -> 'xx-large' now supported [1]
         * Percentages now supported [2]
     - Text-indent:
         * Percentages now supported [3]         
     - Line-height:
         * numeric multiplier, length, normal and percentage all work,
           more or less [4]
     - Background shorthand property:
         * Only supports color, image and repeat syntaxes
     - Background-repeat:
         * repeat-x, repeat-y, no-repeat and repeat supported
     - Margin shorthand property
     - Margin properties (all): Percentages now supported
     - Padding shorthand property [5]
     - Padding properties (all): Percentages now supported
     - Border-width 
         * Supports thin/medium/thick keywords and length measurements.
           Did not check missing value behavior.
     - Border-color
         * Supports color units (color names are Netscape full 
           list version - the 128-ish or so names.)
     - Border-style: 
         * Supports none, solid, groove, ridge, inset, outset and double 
           keywords. 'dotted' and 'dashed' keywords still unsupported.
     - Border-(left/right/top/bottom)-width:
         * Supports thin/medium/thick keywords and length 
           measurements. [6] 
     - Float: 
         * Works for block and inline elements but not for 
           replaced elements (see comment below)
     - Width:
         * Works for block and inline elements but not for replaced
           elements (see comment below)

Unsupported properties:
     - Font-variant
     - Font-style: 'oblique' value (I may not have a good test case 
                   set up for this)
     - Word-spacing, Letter-spacing [7]
     - Text-decoration: [8]
         * overline still does not work
     - Text-align:
         * 'justify' value still does not work. Other values fine.
     - Background-attachment, Background-position
     - Border-left, Border-right, Border-top, Border-bottom
     - Border shorthand property
     - Height property
     - All List-style properties
     - White-space 'nowrap' value still unsupported
     
(*) New Bugs (or not identified previously):
     - List Items (<LI>) MUST be closed for properties to be applied
       correctly. This is painful to see in action. Did not check 
       other content-bearing, optional-end elements (like <dt>, <dd> or 
       table elements) to see if they required similar behavior. 
       Subsequent content out of the list structure appears to get 
       absorbed into the property bounding area without closing tags in 
       these cases.
     - If box properties (like padding) are applied to an element it tends 
       to make the element behave like a block element and put linebreaks 
       before and after - even inline elements.
     - Border props (and probably all box props) appear to work on block
       and in-line elements, but not at all on replaced elements (tried HR,
       IMG and TABLE)
     - Text given font sizing of an expected 100% value will end up larger 
       than surrounding default-sized text.

Notes:
[1] The font-size absolute scale keywords do not have the expected effect.
    The size range of these keywords varies from gigantic to microscopic

[2] Font size percentages of 100% is larger than surrounding normal 
    sized text.

[3] Nested text-indents reset to '0' (flush left in cases tried)

[4] Line-height spacing gets added over the top of the text in the line. 
    It is not evenly distributed to both top and bottom as expected.

[5] Applying positive padding values to a SPAN element caused it to
    overlap with surrounding text

[6] Rendering of the border properties by themselves (not applied to all 
    sides) cuts in to the rendering of adjacent elements.

[7] I could have sworn I saw this behavior, but I loaded IE 4 Beta 1      
    almost the same time as NN4B3, and I may have gotten mixed up. In 
    recent testing, these properties had no effect in Navigator.

[8] Hyperlink HTML behavior seems to over-ride properties applied to 
    it - both directly and from an inheritance point of view.    

Well, that's it for now. I hope I haven't forgotten any significant 
points of interest in CSS. I have chosen not to review CSS positioning 
ability here, since I have enough of a can of worms with just plain CSS. 
As for IE4PP1, I hope to cover it sooner rather than later. As usual, 
this info will be integrated in to my site (where it is hopefully a bit 
more legible) as soon as I can find the time.


If anyone knows of any errors or omissions here, let me know. 

Many thanks,

-Brian Wilson 8-}

----------------

Brian Wilson --------------------------"Those aren't Sex muffins!   -Coach
bloo@blooberry.com ---------------------Those aren't Love muffins! 
http://www.blooberry.com ---------------Those are just BLOOberry muffins!"
Creator of Index DOT Html: http://www.blooberry.com/html/intro.htm

Received on Wednesday, 16 April 1997 05:26:21 UTC