美文网首页
CSS3过渡与transforms

CSS3过渡与transforms

作者: GoFzy | 来源:发表于2019-03-14 15:25 被阅读0次

一、transition

  过渡(transition)是CSS3中具有颠覆性的特征之一,我们可以在不使用 Flash 动画或 JavaScript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果。语法格式:

transition: 要过渡的属性  花费时间  运动曲线  何时开始;(如果有多组属性变化,还是用逗号隔开)

  属性及其描述:


属性描述

  运动曲线示意图:


运动曲线示意图
  附上仿京东侧边栏写法:
<!DOCTYPE html>
<html>
    <head>
        <title>京东侧边栏</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
            .subnav li {
                list-style: none;
                width: 20px;
                height: 20px;
                margin: 3px 0;
                background-color: pink;
                position: relative;
            }
            .subnav {
                width: 20px;
                margin: 100px auto;
            }
            .subnav div {
                position: absolute;
                right: 0;
                top: 0;
                height: 20px;
                width: 0;
                background-color: purple;
                transition: all .6s;
                z-index: -1;
            }
            .subnav li:hover div {
                width: 100px;
            }
        </style>
    </head>
    <body>
        <div class="subnav">
            <ul>
                <li><div></div></li>
                <li><div></div></li>
                <li><div></div></li>
                <li><div></div></li>
                <li><div></div></li>
            </ul>
        </div>
    </body>
</html>

二、2D变形(CSS3) transform

  transform同样也是CSS3中具有颠覆性的特征之一,可以实现元素的位移、旋转、倾斜、缩放,甚至支持矩阵方式,配合过渡动画知识,可以取代大量之前只能靠Flash才可以实现的效果。

2.1 移动tanslate(x,y)

  基本语法:

 translate(x,y)水平方向和垂直方向同时移动(也就是X轴和Y轴同时移动)
 translateX(x)仅水平方向移动(X轴移动)
 translateY(Y)仅垂直方向移动(Y轴移动)

  translate还有一个妙处就是实现盒子水平居中,相比于margin外边距和定位方法,translate方法适用范围更广,在不知道盒子大小或者不方便计算时就可以使用该方法:

.box {
  width: 499.9999px;
  height: 400px;
  background: pink;
  position: absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);  /* 走的自己的一半 */
}

2.2 缩放scale(x,y)

  基本语法:

scale(X,Y)使元素水平方向和垂直方向同时缩放(也就是X轴和Y轴同时缩放)
scaleX(x)元素仅水平方向缩放(X轴缩放)
scaleY(y)元素仅垂直方向缩放(Y轴缩放)

  scale()的取值默认的值为1,当值设置为0.01到0.99之间的任何值,作用使一个元素缩小;而任何大于或等于1.01的值,作用是让元素放大

2.3 旋转rotate(deg)

  基本语法:

transform:rotate(45deg);/*正值为顺时针,负值为逆时针*/
div{transform-origin: left top;transform: rotate(45deg); }  /* 改变元素原点到左上角,然后进行顺时旋转45度 */    
 div{transform-origin: 10px 10px;transform: rotate(45deg); }  /* 改变元素原点到x 为10  y 为10,然后进行顺时旋转45度 */ 

2.4 倾斜skew(deg,deg)

  基本语法:

transform:skew(30deg,0deg);/*把元素水平方向上倾斜30度,竖直方向保持不变*/

三、3D变形(CSS3) transform

  首先来看一下3D坐标轴:


CSS3的3D坐标轴

  其中用法与2D相类似,著不过多出了Z轴

rotateX(deg)//绕x轴旋转
rotateY(deg)//绕y轴旋转
rotateZ(deg)//绕z轴旋转
transelateX();//与2D一致水平方向移动
transelateY();//与2D一致竖直方向移动
translateZ(z);//沿Z轴方向移动
translate3d(x,y,z);//其中,x和y可以是长度值,也可以是百分比,百分比是相对于其本身元素水平方向的宽度和垂直方向的高度和;z只能设置长度值

相关文章

  • CSS3过渡与transforms

    一、transition   过渡(transition)是CSS3中具有颠覆性的特征之一,我们可以在不使用 Fl...

  • 05_css中的过渡和动画效果了解吗

    一、CSS3 过渡 1、CSS3 过渡简介 CSS3过渡是元素从一种样式逐渐改变为另一种的效果。 (1)实现过渡效...

  • CSS3(transforms)

    transforms 主要包括了两个属性 transform 只可以转换 由盒子模型定位的元素,而根据经验也就是 ...

  • 08_dayCSS动画

    CSS3新增的功能有:过渡和动画,阴影和圆角 css3过渡动画: css3都有哪些新增的东西 : 过度,动画,阴影...

  • CSS3动画

    css3动画包括过渡,形变,动画 过渡transition: 指定过渡样式:transition-property...

  • Pytorch框架学习(6)——transforms与norma

    图像预处理Transforms与normalize @[toc] 1. transforms运行机制 torchv...

  • CSS3 过渡

    CSS3 过渡 | transition 属性 属性 如何工作 CSS3过渡是元素从一种样式逐渐改变为另一种的效果...

  • 《响应式Web设计:HTML5和CSS3实战(第2版)》08章

    响应式Web设计:HTML5和CSS3实战(第2版) 第八章 CSS3过渡、变形和动画 过渡——transitio...

  • CSS3-目录

    1 CSS3 兼容性 2 CSS3 选择器 3 CSS3 新加属性 4 CSS3 过渡动画 5 CSS3 变型 6...

  • 九、CSS新特性

    CSS3过渡动画 1、transition-property 设置过渡的属性,比如:width height ba...

网友评论

      本文标题:CSS3过渡与transforms

      本文链接:https://www.haomeiwen.com/subject/xgyopqtx.html