css过渡模块和2d转换模块

(一)过度模块的三要素:

创新互联建站长期为上千多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为房县企业提供专业的网站制作、成都网站建设,房县网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。

1、必须要有属性发生变化

   2、必须告诉系统哪个属性需要执行过渡效果

3、必须告诉系统过渡效果持续时长

    ps:当多个属性需要同时执行过渡效果时用逗号隔开即可

transition-property: width, background-color;

transition-duration: 5s, 5s;

示例代码:

css过渡模块和2d转换模块

    
    过渡模块

css过渡模块和2d转换模块

 效果图:

css过渡模块和2d转换模块   变化前

 css过渡模块和2d转换模块    变化中

css过渡模块和2d转换模块    变化后

 

(二)过渡模块的其它属性:

1、告诉系统延迟多少秒之后才开始过渡动画:transition-delay: 2s;

2、告诉系统过渡动画的运动的速度:transition-timing-function: linear;

示例代码:

css过渡模块和2d转换模块


    
    89-过渡模块-其它属性
    
        
  • linear
  •     
  • ease
  •     
  • ease-in
  •     
  • ease-out
  •     
  • ease-in-out

css过渡模块和2d转换模块

不同的运动速度会导致不同的过渡效果,请看运行效果图:

css过渡模块和2d转换模块 运动前

css过渡模块和2d转换模块 运动中

css过渡模块和2d转换模块 运动后

(三)过渡连写格式
      transition: 过渡属性 过渡时长 运动速度 延迟时间;

过渡连写注意点
        1和分开写一样, 如果想给多个属性添加过渡效果也是用逗号隔开即可
        2连写的时可以省略后面的两个参数, 因为只要编写了前面的两个参数就已经满足了过渡的三要素
        3如果多个属性运动的速度/延迟的时间/持续时间都一样, 那么可以简写为:transition:all 0s;

示例代码:

css过渡模块和2d转换模块


    
    过渡模块的连写
    

css过渡模块和2d转换模块

 

      (四)过度模块的编写套路和案例

编写套路:

1、不要管过渡, 先编写基本界面

2、修改我们认为需要修改的属性

3、再回过头去给被修改属性的那个元素添加过渡即可

案例1:

思路:

1、先做好基本页面布局,给div和span添加样式表;

2、考虑怎么实现要做的效果,和需要变动的属性

3、给属性添加过渡效果,在只有一种属性变动或多个属性过渡时间等相同的情况下推荐使用:transition:all 1s;

css过渡模块和2d转换模块


    
    过渡模块-弹性效果
    
    L     M     S                         

css过渡模块和2d转换模块

 示例图片:

css过渡模块和2d转换模块过渡前

css过渡模块和2d转换模块过渡中

css过渡模块和2d转换模块过度后

 

 

案例2:

手风琴效果,示例代码:

css过渡模块和2d转换模块

    
    过渡模块-手风琴效果

css过渡模块和2d转换模块

 

思路:

1、通过浮动做好基本布局,如图:

css过渡模块和2d转换模块

2、考虑需要实现的效果,如下图,即鼠标移入后,具有:hover事件的li宽度变大,其余的等大。

我们可以通过ul的:hover事件让所有的li变小,然后通过li的:hover时间来使当前li宽度变大。案例事小,思路是大,这种思路在以后的js中或者其他的地方经常用到,即先将所有元素初始化,在单独改变需要改变的元素属性。

css过渡模块和2d转换模块

二、2d转换模块transform

(一)写法:transform:值;transform的值常用的有3种:

1、旋转:其中deg是单位, 代表多少度:transform: rotate(45deg);

2、移动:第一个参数:水平方向,第二个参数:垂直方向,transform: translate(100px, 0px);

3、缩放:第一个参数:水平方向,第二个参数:垂直方向,transform: scale(0.5, 0.5);transform: scale(1.5);

注意点:

如果取值是1, 代表不变

如果取值大于1, 代表需要放大

如果取值小于1, 代表需要缩小

如果水平和垂直缩放都一样, 那么可以简写为一个参数

ps:1、如果需要进行多个转换, 那么用空格隔开

2、2D的转换模块会修改元素的坐标系, 所以旋转之后再平移就不是水平平移的

示例代码:

css过渡模块和2d转换模块


    
    2D转换模块
    
        
  • 正常的
  •     
  • 旋转的
  •     
  • 平移的
  •     
  • 缩放的
  •     
  • 综合的

css过渡模块和2d转换模块

示例图片:

css过渡模块和2d转换模块

(二)转换模块的形变中心点:

默认情况下所有的元素都是以自己的中心点作为参考来旋转的, 我们可以通过形变中心点属性来修改它的参考点。

1、写法:transform-origin: left top;第一个参数:水平方向,第二个参数:垂直方向。

ps:取值有三种形式

具体像素:transform-origin: 200px 0px;

百分比:transform-origin: 50% 50%;

特殊关键字:transform-origin: center center;

       2、示例代码:

css过渡模块和2d转换模块


    
    2D转换模块的形变中心点
    
        
  •     
  •     

css过渡模块和2d转换模块

 

 css过渡模块和2d转换模块

 

     (三)2d转换模块的旋转轴

rotate旋转属性旋转是默认都是围绕z轴旋转,若需要改变旋转轴可以在rotate后加上旋转轴,即:rotateX();rotateY();rotateZ();

1、当围绕x和y轴旋转时就会改变属性距离我们的距离,也就是透视,什么事透视呢,就是近大远小。

2、你会发现元素围绕x轴或y轴旋转时并没有金达远小的效果,这时你需要添加一个透视属性:perspective: 500px;注意:这个属性需要添加在元素的父容器上;

css过渡模块和2d转换模块


    
    旋转轴向
    
        
  •     
  •     

css过渡模块和2d转换模块

 

 示例图片:

css过渡模块和2d转换模块


新闻名称:css过渡模块和2d转换模块
文章转载:http://myzitong.com/article/gcopeh.html