Re: [css3-transitions] faster reversing of partially completed transitions

On Tue, Nov 24, 2009 at 6:47 PM, Brad Kemper <brad.kemper@gmail.com> wrote:
> On Nov 24, 2009, at 2:28 PM, "Tab Atkins Jr." <jackalmage@gmail.com> wrote:
>
>> If I'm going to be using an asymmetric timing
>> function for state transitions, though, as an author I'm going to
>> expect that they *always* run in reverse when the state transitions
>> back to 'normal'.  This includes transition-delays.  I'm not thinking
>> of the transition from :link to :hover to :link as two independent
>> changes, I think of them as being a change and then a reversal of that
>> change.
>
> But you could think of them as two independent changes, and set the
> transition on each. I think that would be better than the UA trying to guess
> your intentions. I don't think I would expect it to run in reverse, unless
> (possibly, and that's the question) it hadn't finished running in forward.
> If you didn't set the :link version (or the no pseudo-class version), then
> unhovering would cause an abrupt change back. If that's what you wanted (and
> sometimes it might be), you'd be done; if not, you'd notice pretty quick and
> know what to do to fix it.

Do you mean something like:

a { transition-timing-function: ease-in; }
a:hover { transition-timing-function: ease-out; }

?

> I can imagine, for instance, wanting a tooltip thingy that faded in (with
> opacity) after a second or two delay when hovering, and then disappearing to
> opacity:0 abruptly as soon as I moved the cursor away. If it was only half
> opaque, I would want the change back to be just as abrupt (with no delay or
> duration) as it would have been if the first transition had played out. I
> would expect that to happen if I didn't set any transition values on the
> :link, because the initial transition-duration without me setting it would
> be 0.

Sure, you want a transition one way, and no transition the other way.
I don't think that's going to be the common case, though.  I think it
should be handled by explicitly specifying such.  By default, though,
if I specified such a transition on a tooltip, I'd expect it to
transition in reverse when I stopped hovering.

~TJ

Received on Wednesday, 25 November 2009 02:13:35 UTC