- From: Andrew Fedoniouk <news@terrainformatica.com>
- Date: Fri, 29 Jan 2010 09:09:15 -0800
- To: "Tab Atkins Jr." <jackalmage@gmail.com>
- CC: www-style <www-style@w3.org>
Tab Atkins Jr. wrote: > On Fri, Jan 29, 2010 at 1:11 AM, Andrew Fedoniouk > <news@terrainformatica.com> wrote: >> So you will have two transitions defined: >> >> div { transition: 111 } >> div:hover { transition: 222 } >> >> Question is which value of the transition to use when the element changes >> its :hover state. >> ... >> >> Consider that you have, say, these two rules >> >> div:hover { .... } >> div:checked { .... } >> >> and you want to define different types of animations for >> :normal -> :hover and >> :normal -> :checked changes. >> >> Following your logic it is not possible to define different animations for >> these two distinct paths. As used value for the transition >> is not the one that defined inside :hover rule but the one that the element >> used to have. Am I correct in my understanding of your idea? > > Correct - the transition property the element has *before* the change > is what's used to run the transition. So :normal->:hover and > :normal->:checked run with the same transition function. However, you > can have :checked->:normal and :hover->normal use different > transitions, since they start from different states. > > Your proposal (gathering the transition property from the end-state) > would allow different transitions starting from normal, but would > require them to be the same returning to normal. > > The two are equivalent, they just work oppositely. The only way to > get something that handles all this ideally is to have transitions > that depend on *both* the start and end states, and that's not > currently possible with the way the draft works. > Seems like you did not get the idea. Let's try again: From you words (as the spec is not clear on that) animation of these rules: div { transition: 111 } div:hover { transition: 222 } div:checked { transition: 333 } will be made this way: :normal-state -> :hover = transition 111 (!) :normal-state -> :checked = transition 111 (!) :hover -> :normal-state = transition 222. :checked -> :normal-state = transition 333. ( I have no idea where such peculiar transition table can be useful ) Idea that I am talking about is this: For defining two distinct animations for the same element you will need just this: div {} div:hover { transition: 111 } div:checked { transition: 222 } So :normal-state -> :hover = transition 111 :normal-state -> :checked = transition 222 :hover -> :normal-state = transition 111 / reversed. :checked -> :normal-state = transition 222 / reversed. I think that my case is more, let's say, humanistic. -- Andrew Fedoniouk. http://terrainformatica.com
Received on Friday, 29 January 2010 17:09:33 UTC