- From: Alan Gresley <alan@css-class.com>
- Date: Tue, 02 Aug 2011 16:14:15 +1000
- To: Rik Cabanier <cabanier@gmail.com>
- CC: Dean Jackson <dino@apple.com>, Jonathan Snook <jonathan@snook.ca>, www-style@w3.org
On 2/08/2011 7:36 AM, Rik Cabanier wrote: > Yes, you're absolutely right. I assumed that the default fill-mode was > 'forwards'. > > Are you proposing that the following constructs become valid as well: > @keyframes fade { > 10% { display:block; opacity: 1; } > 90% { display:none; opacity:0; } > } > and > @keyframes fade { > 10% { display:block; opacity: 1; } > 30% { display:none; opacity:0; } > 60% { display:block; opacity: 1; } > 90% { display:none; opacity:0; } > } > > This would be most helpful, but it seems odd that an element has a running > animation and a style of 'display: none'. > > Rik Commenting inline would help others to follow this thread. The problems that others authors are facing with being able to remove an element from the flow is an issue that I was facing with my 'Flight of the Venturer' [1] demo. In Safari 5.0.4 ~ 5.0.5, I somewhat managed to remove Neptune and replace it with Triton and the remove Triton to replace it again with Neptune by transitioning the height (height: 100% to height: 0%) of the elements that have Neptune and Triton as background images. In both Safari 5.1 and Chrome 12, the elements with the backgrounds of Neptune and Triton were not working as successfully. Being able to use display: none could have solved the issue but I can't see how you can animate from display: block to display: none with an animation that last longer than 100ms or even in seconds and have it look good. It's not like it just vanishes. In Safari 5.1 (and other recent builds of WebKit) the z-index bug (first reported on this list by Boris Zbarsky) has been fixed. Now I (or other authors) can transition between layers of z-index to successfully show and hide elements along with using opacity. I have now updated my 'Flight of the Venturer' demo with z-index and layering and this works very well in Safari 5.1. This method of using z-index may solve Jonathan's problem. The pertinent CSS in my demo is this (needs fine-tuning). @-webkit-keyframes pneptune { from, 34% { background-position: 72% 50%; z-index: 2; } 46% { background-position: 485% 50%; z-index: 1; } 60% { background-position: 285% 50%; } 80% { background-position: 285% 50%; opacity:0; } 85% { background-position: 285% 50%;opacity:0; } 86% { background-position: 285% 50%;opacity:0; } to { background-position: 72% 50%;opacity:1; } } @-webkit-keyframes ptriton { from { background-position: -370% 50%;opacity:0;z-index: 1; } 46% { opacity:0; z-index: 2; } 46.1% { opacity:1; z-index: 2; } 55% { opacity:1;background-color:black;background-position: 72% 50%; z-index: 2; } 60% { opacity:1;background-position: 90% 50%; } 80% { opacity:0;background-position: 200% 50%; } to { opacity:0; } } [1] http://css-3d.org/flight-of-the-venturer.htm [2] https://bug647494.bugzilla.mozilla.org/attachment.cgi?id=523831 [3] http://css-class.com/test/css/3/transforms/transition-painting-and-z-index.htm -- Alan Gresley http://css-3d.org/ http://css-class.com/
Received on Tuesday, 2 August 2011 06:14:52 UTC