• CSS-07 (转换,过渡,动画)


    CSS HACK  我们为了兼容不同低版本浏览器,而作的代码开发,叫做编写csshack
    - webkit-
    - moz-
    - ms-
    - o-
    一 转换(*****)---transform
    改变元素在页面中的位置,大小,角度,形状
    transform:transform-function1 transform-function2...
    转换属性:transform;
    转换函数:2D的4个,3D的一个,
    1 2D转换
    只在x,y轴发生转换
    **(1)位移**
    transform:translate(x,y)
    translate()只写一个值和translateX()作用相同---设置元素在x轴上的位移距离
    translateY()设置元素在y轴上的位移距离
    **(2)缩放**
    transform:scale(val)
    ①val>1--放大
    ②<0val<1---缩小
    ③val<0---反转缩小/放大
    scale(v1,v2)分别设置x,y轴的尺寸
    scaleX()/scaleY()单独设置x,y轴的尺寸
    **(3)旋转**
    transform:rotate(ndeg)
    n>0顺时针;n<0逆时针
    transform-origin:v1 v2 转换原点:①px为单位的数字 ②x%,y%;③关键字:x-left/center/right   y-top/center/bottom
    旋转会带着坐标轴一起旋转,所以会影响旋转之后位移的位置
    **(4)倾斜**
    transform:skew(ndeg)
    ①取一个值等同于skewX(x):让元素的y轴向着x轴发生倾斜.度数为正是逆时针,度数为负是顺时针
    2 3D转换
    增加了z轴
    (1)3D旋转
    ①透视距离
    perspective:距离,此属性要加载到3D转换元素的父元素上.
    transform:rotateX(ndeg)--按x轴转/rotateY(ndeg)/rotateZ(ndeg)

    二 过渡
    只能用伪类激活
    两个css的值,在一段时间内平缓过渡的过程.
    1 transition-property:属性/all
    支持过渡的属性:
    ①颜色属性
    ②大多数取值为具体数值的属性
    ③阴影属性
    ④转换属性
    ⑤visibility:(过渡结束后消失)
    2 过渡时长 transition-duration:s/ms;
    3 过渡的时间曲线函数 transition-timing-function:
    匀速:linear
    ease:默认值,慢速开始,中间加速,减速结束

    4 过渡的延迟
    transition-delay:s/ms

    简写方式
    transition:property duration timing-function delay;
    最简方式:
    transition:duration;

    5 过渡代码的编写位置
    写在原本的样式中,过渡效果有去有回,写在伪类中,过渡效果有去无回
     
    三 动画
    让元素从一种样式,逐渐变化成其他样式
    可以使用伪类触发,也可以使用f5刷新触发
    1 关键帧
    利用关键帧来控制动画的每一个状态.
    2 使用
    **(1)声明动画**
    @keyframes 动画名称{
    0%{样式1}
    ...
    100%{样式}
    }
    注意:关键帧之间不能有分号;且0%可以用from代替,100%可以用to代替
    **(2)使用动画**
    在要调用的元素样式内
    ①animation-name:动画名称
    ②animation-duration:动画持续时间
    ③animation-timing-function:linear/ease/ease-in/ease-out/ease-in-out/(steps)---时间曲线函数
    ④animation-delay:s/ms;---动画延迟

    **(3)动画的特有属性**
    ①动画的播放次数
    animation-iteration-count:次数/infinite(无限)
    ②动画的播放顺序
    animation-direction:normal(默认0-100)/reverse(反向)/alternate(轮流播放,奇数次正向播放,偶数次反向播放)
    ③设置动画之前的填充状态
    animation-fill-mode:none(默认)/backwards(延迟时间内填充第一帧)/forwards(动画结束后,填充最后一帧)/both(前后都要)
    ④设置动画的播放状态
    animation-play-state:paused(暂停)/running(播放)

    **动画的简写方式:**
    animation:duration timing-function delay count direction
    最简:
    animation:name duration

    **动画的兼容性**
    如果需要兼容低版本浏览器,需要写css hack
    @keyframes 动画名称{关键帧}
    CSS HACK
    @-webkit-keyframes{}
    @-mos-keyframes{}
    @-mz-keyframes{}
    @-o-keyframes{}

  • 相关阅读:
    JVM系列(五)并发相关
    String的hashCode 和equals 区别
    JVM系列(四)生命周期和classloader
    jvm面试题解答
    memcached(十三)注意事项
    memcached(十二)监控
    memcached(十)动态扩容
    memcached(九)--LRU
    memcached(八)-- set指令内部实现
    用通俗易懂的大白话讲解Map/Reduce原理
  • 原文地址:https://www.cnblogs.com/codexlx/p/12461827.html
Copyright © 2020-2023  润新知