理解CSS3属性transition

发布时间:2019-07-09 09:30:27编辑:auto阅读(1248)

    一、说明

    1.1 定义和用法

    transition 属性是一个简写属性,用于设置四个过渡属性:

    • transition-property:规定设置过渡效果的CSS属性的名称。

    • transition-duration:规定完成过渡效果需要多少秒或毫秒。

    • transition-timing-function:规定速度效果的速度曲线。

    • transition-delay:定义过渡效果何时开始。

    1.2 语法

    transition: property duration timing-function delay;

    1.3 transition-timing-function

    1.3.1 语法

    transition-timing-function: linear|ease|ease-in|ease-out|ease-in-out|cubic- bezier(n,n,n,n);

    1.3.2 说明
    • linear:规定以相同速度开始至结束的过渡效果(等于cubic-bezier(0,0,1,1))。

    • ease:规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))。

    • ease-in:规定以慢速开始的过渡效果(等于cubic-bezier(0.42,0,1,1))。

    • ease-out:规定以慢速结束的过渡效果(等于cubic-bezier(0,0,0.58,1))。

    • ease-in-out:规定以慢速开始和结束的过渡效果(等于cubic-bezier(0.42,0,0.58,1))。

    • cubic-bezier(n,n,n,n):在cubic-bezier函数中定义自己的值。可能的值是0至1之间的数值。

    二、示例

    <style>
        .transition-example{
            width: 500px;
            height: 370px;
            background: #ccc;
            padding: 10px 0;
        }
        .transition-example:hover>div{
            margin-left: 90%;
            transform: rotate(360deg);
            border-radius: 5px;
        }
        .transition-example>div{
            width: 50px;
            height: 50px;
            text-align: center;
            margin: 10px 0;
            background-color: blue;
            color: #fff;
        }
        .linear{
            transition: all 5s linear;
        }
        .ease{
            transition: all 5s ease;
        }
        .ease-in{
            transition: all 5s ease-in;
        }
        .ease-out{
            transition: all 5s ease-out;
        }
        .ease-in-out{
            transition: all 5s ease-in-out;
        }
        .cubic-bezier{
            transition: all 5s cubic-bezier(0.42,0,0.58,1);
        }
        
    </style>
    <div class="transition-example">
        <div class="linear">linear</div>
        <div class="ease">ease</div>
        <div class="ease-in">ease-in</div>
        <div class="ease-out">ease-out</div>
        <div class="ease-in-out">ease-in-out</div>
        <div class="cubic-bezier">cubic-bezier</div>
    </div>

    linear

    ease

    ease-in

    ease-out

    ease-in-out

    cubic-bezier

    理解CSS3属性transition

关键字