优秀的编程知识分享平台

网站首页 > 技术文章 正文

CSS3 transition过渡效果(css3过度效果)

nanyue 2024-10-30 02:58:46 技术文章 5 ℃

transition过渡效果

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

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

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

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

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


transition: property duration timing-function delay;

transition-property: none|all|property;

none 没有属性会获得过渡效果。

all 所有属性都将获得过渡效果。

property 定义应用过渡效果的 CSS 属性名称列表,列表以逗号分隔。

第一个参数可以省略, 默认值为all

transition-duration: time;

time 规定完成过渡效果需要花费的时间(以秒或毫秒计)。默认值是 0,意味着不会有效果。


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

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 之间的数值。

transition-delay: time;

time 规定在过渡效果开始之前需要等待的时间,以秒或毫秒计。


关于Dreamweaver软件关于CSS3的过渡效果操作见Dreamweaver|CSS3过渡效果

实例1:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
div{
    width: 400px;
    height: 400px;
    background-color: red;
    transition: 5s;
}

div:hover{
    /* transition: 参与过渡的属性(默认all) 过渡时间(s ms) 过渡效果 延迟时间; */

    font-size: 100px;

    left: 600px;
    background-color: green;
}
</style>
</head>
<body>
<!--css3动画以后肯定会是主流-->
<div>div</div>
</body>
</html>

实例2: 贝赛尔曲线

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
div{
    width: 200px;
    height: 200px;
    background-color: red;

    /*transition: width 5s,background-color 5s 5s;*/


    transition: 5s cubic-bezier(.57,-0.61,.62,1.59);
}

div:hover{
    width: 800px;
    background-color: green;
}
</style>
</head>
<body>
<!--css3动画以后肯定会是主流-->
<div>div</div>
</body>
</html>

参考网址

http://cubic-bezier.com/#.17,.67,.83,.67


实例:把鼠标指针放到 div 元素上, 其宽度会从 100px 逐渐变为 300px:

<!DOCTYPE html>
<html>
<head>
<style>
div{
    width:100px;
    height:100px;
    background:yellow;
    transition:width 2s;
    -moz-transition:width 2s; /* Firefox 4 */
    -webkit-transition:width 2s; /* Safari and Chrome */
    -o-transition:width 2s; /* Opera */
}
div:hover
{
    width:300px;
}
</style>
</head>
<body>
<div></div>
<p>请把鼠标指针放到黄色的 div 元素上,来查看过渡效果。</p>
<p><b>注释:</b>本例在 Internet Explorer 中无效。</p>
</body>
</html>

实例: 移动图片

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<style type="text/css">
*{
    margin: 0;
    padding: 0;
}
div{
    width: 100px;
    height: 80px;
    margin: 100px auto;
    background-image: url('img/uc.png');
    background-position: 0 0;
    transition: 180ms linear;
}
div:hover{
    background-position: -1100px 0;
}
</style>
</head>
<body>
<div>
</div>
</body>
</html>


jQuery过渡

animate方法过渡

1 css3新增属性基本都不能过渡, border-radius除外

2 颜色相关不能过渡

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
div{
    width: 400px;
    height: 400px;
    background-color: red;
}
</style>
</head>
<body>
<button>┏=?</button>
<div></div>

<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
$("button").click(function(){
    $("div").animate({
        "width": "800px",
        "border-radius": "50%",
        "background-color": "green"
    })
})

//css3新增属性基本都不能过渡 border-radius除外
//颜色相关
</script>
</body>
</html>

Tags:

最近发表
标签列表