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%;
}
Note
The transition is put on the original element and NOT the element that will cause the change, such as a :hover.
Default
Default value | ease |
Inherited values | no |
Can it be animated? | no |
These are the allowed values.
Value | Description |
---|---|
ease | Specifies a transition effect with a slow start, then fast, then end slowly (equivalent to cubic-bezier(0.25,0.1,0.25,1)) (default) |
linear | Specifies a transition effect with the same speed from start to end (equivalent to cubic-bezier(0,0,1,1)) |
ease-in | Specifies a transition effect with a slow start (equivalent to cubic-bezier(0.42,0,1,1)) |
ease-out | Specifies a transition effect with a slow end (equivalent to cubic-bezier(0,0,0.58,1)) |
ease-in-out | Specifies a transition effect with a slow start and end (equivalent to cubic-bezier(0.42,0,0.58,1)) |
step-start | Equivalent to steps(1, start) |
step-end | Equivalent 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 |
initial | Sets this property to its default value |
inherit | Inherits 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:
- The “inherit”, “initial” and “unset” keywords can be used with any CSS property to set its value
- In CSS there are many ways to express a color value in a property
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.