Don't miss out on tutorials, special offers, and discounts we share with our subscribers!
We know that lots of you have been happily recommending Microthemer to your friends. This really helps us out. And to say thanks, we'd like to start giving you some commission for sending customers our way. Find out more.
New Animation Properties
Everyone can now play with Microthemer’s new CSS animation properties. Just update via your WordPress dashboard now, or grab it from My Downloads. The animation features are being released in two parts. This article announces part one. Please read on to find our what’s included and what’s still to come.
What Animation Features are Included in Part One?
Animate.CSS
Microthemer includes the animate.css library for quickly applying stock animations. The animation-name field includes a dropdown menu listing various preset animations. Scroll through these with the down arrow on your keyboard to find one you like.
Custom Animation via Code View
You can enter a custom animation name in the animation-name field, you are not restricted to the animate.css options in the menu. However, the custom animation (keyframes) will need to be coded via Microthemer’s code view (Ctrl + Alt + C). Alternatively, the custom animation will need to be present in another stylesheet. Tip: if you apply an animate.css animations, Microthemer will include it at the top of active-styles.css. If you go to View > Generated CSS & JS, you can copy the keyframe code to the code view editor as a starter template for your own custom animation.
All of the Animation Properties
All of the CSS properties for running an existing animation are supported. These include:
As well as the standard animation properties, Microthemer provides two custom options for event-based animation.
Animation Event
Specifies which event should trigger the animation. Events have been categorised as CSS events or JavaScript events.
Animation Event Target
Specifies which element the animation should apply to after a given event.
With regular CSS events (e.g. :hover, :focus), the event target is always the same as the event trigger. If you hover over a button that has a :hover animation rule, the button itself will receive the animation. However, JavaScript events can be more flexible. It’s possible to e.g. click the button, and then animate a different element. The button click could cause previously hidden content to slide down for instance.
The event target field only displays if the event field has been set to a JavaScript event. Once displaying, you can enter any CSS selector into this field. Note: it’s not currently possible to use the selector wizard to directly populate the event target field. But that can be arranged in future if this feature proves popular.
Device-specific Animation
Using Microthemer’s responsive tabs, you can apply animation selectively for different devices. So if you want animation to run on large screens, but not tablet and phones, you could apply the animation via Microthemer’s default Large Desktop tab, which only applies to screens of 1200 pixels or wider. Or if you wanted to animate elements whenever they come into view on large screens, but only once on mobile, you could set the animation event to inView on the Large Desktop tab, and inView Once on the Tablet & Phone tab.
Instant Rendering of Animation Properties
This will be particularly evident for any of you that experience a noticeable delay between applying a style change and seeing the site preview update. Any changes to the animation properties will instantly trigger the animation, without the need to wait for a network connection. This instant rendering of styles will be the norm for all style properties in the near future. It was piloted for animation because timing is an integral part of animation.
Instant style rendering delayed the release of the animation properties by a month or two. But the happy side effect of this is that serious progress has already been made supporting instant rendering for all CSS properties.
Play Button
The play button allows you to preview the animation without having to reload the page (if no animation event is set), or trigger event-based animations with click, hover, scroll etc.
What Animation Features are Still to Come?
We deemed it sensible to refrain from adding certain animation features until instant style rendering has been implemented. That’s because this will involve a fundamental shift: moving server-side functionality that can take several seconds over to the client-side for instant processing in the browser. To avoid rewriting code, the following features will be added after this client-side shift has been completed:
Support for Multiple Animations
With part 1, Microthemer only provides one row of GUI fields for applying one animation per selector. However, it’s possible to define multiple (comma separated) animations when writing CSS code by hand. And in the future Microthemer will accommodate this by supporting a configurable number of rows. This feature will also apply to transition, background, text-shadow, and box-shadow.
Custom Animation (Keyframes) via GUI Fields
We’ve mocked up, but are still yet to implement, a system for managing custom keyframes in Microthemer. For now I can tell you that it will take inspiration from the current system for managing folders and selectors. And we intend to support editing the raw keyframes code via a code editor and GUI fields interchangeably.
A Timeline for Previewing Keyframes
This one is aspirational. The JavaScript API for manipulating animations may or may not allow for (accurately) jumping between individual keyframes. But if possible, we will provide an animation timeline slider for tracking forwards and backwards.
General Development Roadmap
Taking into account the new and old feature requests that have accumulated, and that some features must follow others, we’ve come up with the following roadmap. Features will be completed in the order stated below:
Provide Feedback
Please share any improvements requests and general feedback via the following animation forum thread.