- From: Kang-Hao (Kenny) Lu <kennyluck@csail.mit.edu>
- Date: Sun, 10 Jun 2012 10:15:16 +0800
- To: Cameron McCormack <cam@mcc.id.au>
- CC: Dirk Schulze <dschulze@adobe.com>, "www-style@w3.org list" <www-style@w3.org>, "www-svg@w3.org list" <www-svg@w3.org>
(12/06/10 8:51), Cameron McCormack wrote: > Dirk Schulze: >> This example uses a dash array with unit less values for the inline >> style. According to the current CSS rules, it should be invalid but >> works on all UAs. Looking at the source code of WebKit, the following >> further properties have the same behavior 'kerning' (removed from >> SVG2) and 'baseline-shift'. Does the CSS3 Syntax take this into >> account already? Is it possible to allow <number> for these >> properties as well, to specify the current behavior of UAs (might be >> against the rules according to CSS2.1 as well)? > > I think we should just add <number> to the definition of > stroke-dasharray. We will be defining in SVG 2 which presentation > attributes have the "<length>s can be specified as unitless numbers" > behaviour, and stroke-dasharray then would be one that opts out of this. Just a side discovery since 'stroke-dasharray' was mentioned: the grammar of <dash-array> is dasharray ::= (length | percentage) (comma-wsp dasharray)? and comma-wsp is comma-wsp ::= (wsp+ ","? wsp*) | ("," wsp*) wsp ::= (#x20 | #x9 | #xD | #xA) . There are two problems here 1. A space or "," is required to separate two tokens. Chrome, Firefox and Opera are not following this as far as I can tell (Tested with data:text/xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><rect x="100" y="100" width="100" height="100" style="stroke:black;fill:none;stroke-dasharray:2px/**/2px;"/></svg> , where CSS comment is used in place of a space.) IE9 treats this as invalid and drops it, but it also treats 'stroke-dasharray: 2/**/2' as 'stroke-dasharray: 22' so it's not conforming either. (IE seems to remove CSS comment in the preprocessing step.) 2. Unlike CSS2.1, wsp doesn't include form feeds, i.e. #xC. I think that's because XML doesn't allow form feeds. But #xC will appear in SVG-in-HTML and browsers support this. (Tested with data:text/html,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <rect x="100" y="100" width="100" height="100" style="stroke:black;fill:none;stroke-dasharray:2px%0C2px;"/></svg> ) I think it might be nice to move this whole "Basic Data Types" section into css4-values so some of these quirky test cases can have a common home. Cheers, Kenny
Received on Sunday, 10 June 2012 02:15:55 UTC