官术网_书友最值得收藏!

Transitions

We have a pretty good looking UI now, but we can make it even better with some transitions. CSS3 transitions add animation effects to elements when their styles change. For example, if we change the size of an element, it will gradually change from smaller size to a larger size thereby providing visual feedback to the user. When things change gradually, it catches our eye more than something that just appears suddenly on the page.

The CSS3 transition property allows us to specify transitions on elements. It has the following format:

transition: property duration timing-function delay

Here is an explanation of the parameters:

  • property: The CSS property to add a transition to. For example, width or color. Use all to apply transitions to all the properties.
  • duration: The length of time the transition takes. For example, 0.5s takes half a second to complete the transition.
  • timing-function: Determines how the transition progresses over the duration:
    • linear: The same speed from beginning to end
    • ease: Starts slow, then speeds up, then ends slow
    • ease-in: Starts slow then speeds up
    • ease-out: Starts fast then slows down
    • ease-in-out: Eases in and then out
    • cubic-bezier(): If you don't like the predefined functions, you can build your own
  • delay: The amount of time to wait before starting the transition.

The cubic-bezier function takes four parameters which are numbers from 0 to 1. The following produces the same effect as the ease function:

transition: all 1s cubic-bezier(0.25, 0.1, 0.25, 1);

Building your own cubic-bezier functions isn't something most people can just do in their heads. If you want to explore creating your own timing functions, check out http://cubic-bezier.com/.

Like the gradients, transitions are widely supported, but you should still use browser-specific prefixes when declaring it:

-webkit-transition: all 1s ease;
-moz-transition: all 1s ease;
-o-transition: all  1s ease;
transition: all 1s ease;

The easiest way to apply a transition is in combination with a CSS hover selector. The following will fade the background color of an element from white to blue in one quarter of a second when the user moves the mouse over it:

#some-element
{
    background-color: White;
    transition: all 0.25s ease;
}
#some-element:hover
{
    background-color: Blue;
}
主站蜘蛛池模板: 宣城市| 阜城县| 山西省| 玛纳斯县| 清水河县| 射洪县| 霸州市| 鹤峰县| 东乡族自治县| 托克托县| 来凤县| 宜章县| 马尔康县| 庐江县| 宁南县| 金乡县| 昆明市| 久治县| 康平县| 华安县| 汉川市| 琼海市| 海丰县| 东兰县| 平乡县| 中超| 伊吾县| 香格里拉县| 岗巴县| 红河县| 卓尼县| 隆林| 谢通门县| 宝丰县| 盱眙县| 方山县| 疏勒县| 京山县| 湟中县| 诸暨市| 黄浦区|