- From: Øyvind Stenhaug <oyvinds@opera.com>
- Date: Tue, 09 Oct 2012 16:36:34 +0200
- To: "Yves Lafon" <ylafon@w3.org>
- Cc: www-style@w3.org
On Tue, 09 Oct 2012 15:03:37 +0200, Yves Lafon <ylafon@w3.org> wrote: > On Tue, 9 Oct 2012, Øyvind Stenhaug wrote: > >> On Tue, 09 Oct 2012 13:28:35 +0200, Yves Lafon <ylafon@w3.org> wrote: >>> -20% { >>> top: 10px; >>> animation-timing-function: ease-out; >>> } >> >> Even with the working draft, this is not valid per the keyframes_blocks >> grammar. > > keyframe_selector: [ FROM_SYM | TO_SYM | PERCENTAGE ] S* [ ',' S* [ > FROM_SYM | TO_SYM | PERCENTAGE ] S* ]*; > and PERCENTAGE allows -20% The spec probably needs to have a reference pointing to the definition of PERCENTAGE et al. I was looking at http://www.w3.org/TR/CSS21/syndata.html where PERCENTAGE {num}% num [0-9]+|[0-9]*\.[0-9]+ Not sure if there is a contradictory definition anywhere else. > That said, the new prose is good enough to constraint what's valid or > not. Actually, I don't find the formulation "is ignored" very clear. There doesn't seem to be interoperability on this point. Based on some quick testing, * Opera drops the keyframe completely if its selector doesn't match the grammar, but keeps it in the CSSOM otherwise (keyframe selectors like "300%" become empty strings, though) * Firefox keeps keyframes with selectors like "-100%" and "200%", but not with selectors like "foo" * Chrome drops the entire @keyframes rule (but things like "foo{}" or "body{background:red}" just become regular stand-alone declaration blocks(!)) -- Øyvind Stenhaug Core Norway, Opera Software ASA
Received on Tuesday, 9 October 2012 14:37:04 UTC