Animated Radio Tab Toggles
In this demo tutorial, we are making the assumption that we need to create a radio slide toggle for our made-up payment options. For this we want to display 3 simple payment choices to the user:
- One-time payment
- Recurring payment
- Free tier payment
The Final Demo
Let’s get started with the base skeleton.
There isn’t anything special happening here. We just contain all our
inputs into a
.radio-toggles wrapper, make sure those
labels are each properly connected to their corresponding
inputs, and then add an empty
.slide-item element (more on that later).
Now for the main event – the CSS. First we want to style the wrapper that holds all of our pieces together. You can tweak this to your liking, but I prefer a simple and clean style:
Next, we “hide” (only visually) the default
Then we give the corresponding
label elements a little spacing and breathing room:
.slide-item I referenced earlier? That element will be the visual “slider” that animates between the individual radio options. We style that like so:
You’ll notice the
width properties utilize the CSS
calc attributes – this just gives some much needed padding and visual clean-up to the whole tabbed interface.
For the finishing touches, we just need to tell the
.slide-item where to position itself based on which
radio input is currently selected:
That’s pretty much it! You now have a fully functional, animated toggle slider with just a set of simple
radio inputs and pure CSS.