CSS Reference

Quick Reference

The transition-timing-function property specifies the speed curve of the transition effect, allowing for the effect to change speed over its duration.

The following will animate the width, on hover, after a delay of 250 milliseconds, over the course of 0.4 seconds, using ease-in-out.

div {
    width: 50%;
    transition-property: width;
    transition-duration: 0.4s;
    transition-timing-function: ease-in-out;
    transition-delay: 250ms;
}
div:hover {
    width: 100%;
}
Hello World

Note

The transition is put on the original element and NOT the element that will cause the change, such as a :hover.

Default

Default valueease
Inherited valuesno
Can it be animated?no

These are the allowed values.

ValueDescription
easeSpecifies a transition effect with a slow start, then fast, then end slowly (equivalent to cubic-bezier(0.25,0.1,0.25,1)) (default)
linearSpecifies a transition effect with the same speed from start to end (equivalent to cubic-bezier(0,0,1,1))
ease-inSpecifies a transition effect with a slow start (equivalent to cubic-bezier(0.42,0,1,1))
ease-outSpecifies a transition effect with a slow end (equivalent to cubic-bezier(0,0,0.58,1))
ease-in-outSpecifies a transition effect with a slow start and end (equivalent to cubic-bezier(0.42,0,0.58,1))
step-startEquivalent to steps(1, start)
step-endEquivalent to steps(1, end)
steps(int,start|end)Specifies a stepping function, with two parameters; the first parameter specifies the number of intervals in the function (a positive integer greater than 0); the second parameter, which is optional, is either the value "start" or "end", and specifies the point at which the change of values occur within the interval (if omitted, it is given the value "end")
cubic-bezier(n,n,n,n)Define your own values in the cubic-bezier function; possible values are numeric values from 0 to 1
initialSets this property to its default value
inheritInherits this property from its parent element

Using JavaScript

The HTML element can also be styled using JavaScript and the element’s id.

document.getElementById('my_div').style.transitionTimingFunction = 'ease-in-out';
<button onclick='my_function()'>Click Here</button>

<script>
function my_function() {
    document.getElementById('my_div').style.transitionTimingFunction = 'ease-in-out';
}
</script>

CSS Notes:


We’d like to acknowledge that we learned a great deal of our coding from W3Schools and TutorialsPoint, borrowing heavily from their teaching process and excellent code examples. We highly recommend both sites to deepen your experience, and further your coding journey. We’re just hitting the basics here at 1SMARTchicken.