css3新添加的过渡、动画和变换

css3新添加的过渡、动画和变换

在这几周的时间,我看完了css部分的相关知识,在这个过程中唯一的感觉就是css并没有我想象的那么简单,它有着很复杂的一面。这几周的时间,我看完一本css权威指南和html5权威指南的css部分,也算是系统的学习了一下css。
个人觉得有必要写一下CSS3部分的新特性:过渡、动画和变换。

  • 过渡
    过渡效果一般是由浏览器直接改变元素的css属性实现的。例如 :hover选择器。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
    <style>
    .trs{font-size:large;border:1px solid black;}
    .trs:hover{font-size:x-large;color:red;}
    </style>
</head>
<body>
    <p class="trs">
        这是过渡!
    </p>
</body>
</html>

效果

过渡属性:

属性说明
transition-delay指定过渡开始之前的延时时间时间
transition-duration指定过渡的持续时间时间
transition-property指定应用的过渡属性字符串
transition-timing-function指定过渡期间计算中间值的方式五种预设曲线 ease(默认)、linear、ease-in、ease-out、ease-in-out
transition在一条声明中指定所有过渡细节的简写属性简写属性如下:transition:’transition-property’ ‘transition-duration’ ‘transition-timing-function’ ‘transition-delay’

注意:使用过渡时要考虑浏览器的兼容问题:
safari和Chrome:-webkit
Firefox:-moz
Opera:-o

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
    <style>
    .trs{font-size:large;border:1px solid black;}
    .trs:hover{font-size:x-large;color:red;
        transition:color,font-size 500ms 100ms;
        -webkit-transition:color,font-size 500ms 100ms;
        -moz-transition:color,font-size 500ms 100ms;
        -o-transition:color,font-size 500ms 100ms;
    }
    </style>
</head>
<body>
    <p class="trs">
        这是过渡!
    </p>
</body>
</html>

结果

  • 使用动画
    css动画的本质上是增强的过渡。属性如下:
属性说明
animotion-delay设置动画开始前的延时时间
animotion-direction设置动画循环播放的时候是否反向播放normal、alternate
animotion-duration设置动画持续播放的时间时间
animotion-iteration-count设置动画循环播放的次数infinite、数字
animotion-name指定动画名称none、字符串
animotion-play-state允许动画暂停和重新播放running、paused
transition-timing-function指定过渡期间计算中间值的方式ease、linear、ease-in、ease-out、ease-in-out、cubic-bezier
animotion简写属性

animotion属性简写如下:
animation:‘ animotion-name’‘animotion-duration’‘transition-timing-function ’‘animotion-delay’‘animotion-iteration-count’

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
    <style>
    .trs{font-size:large;border:1px solid black;}
    .trs:hover{
        -webkit-animation:'donghua' 500ms linear 100ms infinite ;
    }
    @-webkit-keyframes donghua{
        to{
            font-size:x-large;
            color:red;
        }
    }
    </style>
</head>
<body>
    <p class="trs">
        这是动画!
    </p>
</body>
</html>

结果

@-webkit-keyframes donghua{
        to{
            font-size:x-large; //属性和属性值
            color:red;//属性和属性值
        }
    }

上面这部分代码相当于动画的关键帧,关键帧可以设置初始状态(from{‘属性和属性值’}或者0%{‘属性和属性值’})、中间关键帧(50%{ ‘属性和属性值’})和结束关键帧(to{属性和属性值’}或者100%{‘属性和属性值’}),中间关键帧可以是0%–100%中间的任意多个值。若使用多个动画:
-webkit-animation:'动画名1','动画名2','...' 500ms linear 100ms infinite ;

  • 变换
    使用css可是实现线性变换,即旋转、缩放、倾斜和平移。
    transform:指定应用的变换功能
    transform-orign:指定变换的起点
    transform属性值:
说明
translateX(‘长度值或百分数值’)、translateY(‘长度值或百分数值’)、translate(‘长度值或百分数值’)在水平方向、竖直方向或者两个方向平移元素
scaleX(‘数值’)、scaleY(‘数值’)、scale(‘数值’)在水平方向、竖直方向或者两个方向缩放元素
rotate(‘角度’)旋转元素
skewX(‘角度’)、skewY(‘角度’)、skew(‘角度’)在水平方向、竖直方向或者两个方向倾斜元素
matrix(4~6个数值,逗号隔开)指定自定义变换

transform-orign属性值:

说明
%指定元素x轴或y轴的起点
长度值指定距离
left、right、center指定x轴上的位置
top、center、bottom指定y轴上的位置

将变换作为动画和过渡处理

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
    <style>
    .trs{width:100px;font-size:large;border:1px solid black;}
    .trs:hover{
        -webkit-transition-duration:1.5s;
        -webkit-transform:rotate(360deg);
    }
    </style>
</head>
<body>
    <p class="trs">
        这是转换!
    </p>
</body>
</html>

结果

总结:

使用这些特性可以对元素外观进行各种各样的设置,能够恰当的提升体验和增加灵活性。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值