html:css3新特性:转换(二维,三维),过渡,动画

转换

2D转换

二维平面移动

语法:

transform:translateX(移动的距离) translateY(移动的距离);

Transform:translate(水平移动距离,垂直移动距离)

可以设置负值,水平的正值是向右移动,垂直的正值是向下移动

二维平面旋转

语法:

Transform:rotate(30deg);

旋转原点的设置

transform-origin:center(默认值)

可以设置left,top,right,bottom,center,

百分比设置:transform-origin:水平位置的百分比 垂直位置的百分比

3D转换

透视点

在所看元素的父元素或者是祖先元素上设置透视点

语法:perspective: 1000px;

三维立体的移动

语法:

transform: translateZ(200px);

transform: translate3d(水平移动,垂直移动,z轴移动);

z轴:z轴垂直于屏幕,方向是射向我们。

三维立体的旋转

语法:

/*transform: rotateX(30deg);*/

/*transform: rotateY(30deg);*/

/*transform: rotateZ(30deg);*/

transform: rotate3d(1,1,1,30deg);

解析:rotate3d(x,y,z,30deg),用x,y,z建立一个用原点射向(x,y,z)这个坐标的向量,用这个向量作为轴进行旋转。

/*二维移动*/
/*transform: translateX(400px) translateY(400px);*/
transform: translate(400px,400px);

/*旋转30度*/
transform: rotate(30deg);

/*旋转原点的设置
 transform-origin:center(默认值)
 可以设置left,top,right,bottom,center,
 百分比设置:transform-origin:水平位置的百分比 垂直位置的百分比
                 * */
transform-origin: 0% 50%;

/* 从什么视角看三维*/
body{
                perspective: 1000px;
            }
/*三维移动:transform: translateZ(200px);*/
transform: translate3d(0,0,200px);
/*三维旋转*/
/*transform: rotateX(30deg);*/
/*transform: rotateY(30deg);*/
/*transform: rotateZ(30deg);*/
transform: rotate3d(1,1,1,300deg);
    /*倾斜*/
transform: skew(15deg,0deg);
/*反方向*/
transform: skew(-15deg,0deg);

/*这张图宽还是1,高放大3倍;*/
img{
                display: block;
                margin: 300px auto;
                transform: scale(1,3);

            }

{
width: 300px;
                height: 200px;
                background: skyblue;
                margin: 300px auto;

整个放大两倍
/*transform: scale(2);*/
高不变,宽了3倍
transform: scale(3,1);

}

Transition过渡

综合设置:

transition: all 2s;

分别设置:


/*过渡效果*/

/*transition:height 2s,transform 3s,background 2s;*/

/*transition: all 2s linear;*/

/*保留子元素3d效果*/
transform-style: preserve-3d;

/*过渡的属性*/

transition-property: all;

/*过渡所消耗的时间*/

transition-duration: 2s;

/*过渡变化的速度

linear线性速度

ease/ease-in/ease-out

cubic-bezier(0.57,-0.34, 0.37, 1.44)

* */

transition-timing-function: cubic-bezier(0.57,-0.34, 0.37, 1.44);

/*过渡的延迟时间*/

/*transition-delay: 2s;*/

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style type="text/css">
            #d1{
                width: 200px;
                height: 200px;
                background: skyblue;
                transform: rotate(0deg);

                /*过渡效果*/
                /*transition:height 2s,transform 3s,background 2s;*/
                /*transition: all 2s linear;*/
                /*过渡的属性*/
                transition-property: all;
                /*过渡所消耗的时间*/
                transition-duration: 2s;
                /*过渡变化的速度
                 linear线性速度
                 ease/ease-in/ease-out
                 cubic-bezier(0.57,-0.34, 0.37, 1.44)
                 * */
                transition-timing-function: cubic-bezier(0.57,-0.34, 0.37, 1.44);
                /*过渡的延迟时间*/
                /*transition-delay: 2s;*/
            }

            /*鼠标悬浮上去的状态*/
            #d1:hover{
                height: 400px;
                transform: rotate(360deg);
                background: purple;
            }
        </style>
    </head>
    <body>
        <div id="d1">

        </div>
    </body>
</html>

Animation:动画

综合设置语法:animation: donghua 4s infinite;

分别设置:


/*动画*/

/*animation: donghua 5s;*/

/*动画的名称*/

animation-name: donghua;

/*一次动画所花费的时间*/

animation-duration: 3s;

/*动画的速度*/

animation-timing-function: linear;

/*动画延迟时间*/

animation-delay: 3s;

/*设置动画的次数*/

animation-iteration-count: 3;

/*设置动画的往返*/

animation-direction: alternate;

/*保留最后一刻状态*/

animation-fill-mode: forwards;

不同状态写在关帧里


@keyframes donghua{

过程走到了%几 要达到什么效果

0%{

transform: translate(0,0);

}

50%{

transform: translate(500px,0);

}

100%{

transform: translate(500px,500px);

}

}

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>

        <style type="text/css">
            #d1{
                width: 300px;
                height: 200px;
                background: skyblue;

                /*动画*/
                /*animation: donghua 5s;*/
                /*动画的名称*/
                animation-name: donghua;
                /*一次动画所花费的时间*/
                animation-duration: 3s;
                /*动画的速度*/
                animation-timing-function: linear;
                /*动画延迟时间*/
                animation-delay: 3s;
                /*设置动画的次数*/
                animation-iteration-count: 3;
                /*设置动画的往返*/
                animation-direction: alternate;
                /*保留最后一刻状态*/
                animation-fill-mode: forwards;

            }

            @keyframes donghua{
                0%{
                    transform: translate(0,0);
                }
                50%{
                    transform: translate(500px,0);
                }
                100%{
                    transform: translate(500px,500px);
                }
            }

        </style>
    </head>
    <body>
        <div id="d1">

        </div>
    </body>
</html>

原文地址:https://www.cnblogs.com/406070989senlin/p/10925918.html

时间: 2024-08-06 04:33:22

html:css3新特性:转换(二维,三维),过渡,动画的相关文章

CSS3新特性简介

1.CSS3 边框:通过 CSS3,能够创建圆角边框,向矩形添加阴影,使用图片来绘制边框,如border-radius:box-shadow:border-image 2.CSS3 背景:CSS3 包含多个新的背景属性,它们提供了对背景更强大的控制.background-size:background-origin 3.CSS3 文本效果:CSS3 包含多个新的文本特性.text-shadow:word-wrap 4.CSS3 @font-face规则:可将设计师希望使用的字体文件存放到web服

[转]深入了解 CSS3 新特性

简介 CSS 即层叠样式表(Cascading Stylesheet).Web 开发中采用 CSS 技术,可以有效地控制页面的布局.字体.颜色.背景和其它效果.只需要一些简单的修改,就可以改变网页的外观和格式.CSS3 是 CSS 的升级版本,这套新标准提供了更加丰富且实用的规范,如:盒子模型.列表模块.超链接方式.语言模块.背景和边框.文字特效.多栏布局等等,目前有很多浏览器已经相继支持这项升级的规范,如:Firefox.Chrome.Safari.Opera 等等.在 Web 开发中采用 C

深入了解 CSS3 新特性

简介 CSS 即层叠样式表(Cascading Stylesheet).Web 开发中采用 CSS 技术,可以有效地控制页面的布局.字体.颜色.背景和其它效果.只需要一些简单的修改,就可以改变网页的外观和格式.CSS3 是 CSS 的升级版本,这套新标准提供了更加丰富且实用的规范,如:盒子模型.列表模块.超链接方式.语言模块.背景和边框.文字特效.多栏布局等等,目前有很多浏 览器已经相继支持这项升级的规范,如:Firefox.Chrome.Safari.Opera 等等.在 Web 开发中采用

个人总结(css3新特性)

1.前言css3这个相信大家不陌生了,是个非常有趣,神奇的东西!有了css3,js都可以少写很多!我之前也写过关于css3的文章,也封装过css3的一些小动画.个人觉得css3不难,但是很难用得好,用得顺手,最近我也在过一遍css3的一些新特性(不是全部,是我在工作上常用的,或者觉得有用的),以及一些实例,就写了这一篇总结!希望,这篇文章能帮到大家认识css3.写这篇文章主要是让大家能了解css3的一些新特性,以及基础的用法,感觉css3的魅力!如果想要用好css3,这个得靠大家继续努力学习,寻

Atitti css3 新特性attilax总结

图片发光效果2 透明渐变效果2 文字描边2 背景拉伸2 CSS3 选择器(Selector)4 @Font-face 特性7 Word-wrap & Text-overflow 样式9 Word-wrap9 Text-overflow10 文字渲染(Text-decoration) 描边12 CSS3 的多列布局(multi-column layout)13 边框和颜色(color, border)14 CSS3 的渐变效果(Gradient)15 线性渐变15 径向渐变16 CSS3 的阴影(

CSS3新特性+less实验——animation

自从CSS3推出animation以来,一大批H5应用纷纷利用animation来制作以往需要JS或FLASH才能制作出的特效.今天就来看看animation的庐山真面目吧. 实验对象:animation animation可以被用来定义一组动画效果,此效果可以被应用在任何元素之上,并且可以通过它提供的各项参数精确控制动画的细节. 语法 animation:[[ animation-name ] || [ animation-duration ] || [ animation-timing-fu

NET Framework 4.5新特性 (二) 控制台支持 Unicode (UTF-16) 编码

从 .NET Framework 4.5 开始,Console 类支持与 UnicodeEncoding 类的 UTF-16 编码.  显示 Unicode 字符到控制台,你可以设置 OutputEncoding 属性为 UTF8Encoding 或 UnicodeEncoding. 下面的示例显示 Unicode 字符的范围到控制台中.  该示例接受三个命令行参数:显示范围的开头,显示范围的末尾,以及是否使用当前控制台编码 (false) 或 UTF-16 编码 (true).  假定控制台使

CSS3新特性,绘制常见图形

前言:最近准备做一个自己的网页,设计稿中导航我准备设计成矩形,也有hover样式展示的矩形,当中一些头像等等.以前除了画圆,好像真没认真画过其他图形,今天就画画我们常见到的几个图形. 在此之前我们有必要了解下什么是伪元素(和它不同的,还有一个概念叫伪类,两者容易混淆),没有它画不成图形的. a)伪元素:用来在内容元素的前后插入额外的元素,之所以叫伪元素,就是它们根本就不在文档中生成,只能在外部可见,比如:你F12时,在右边代码框中是不是可以看到? 这里用到的两个伪元素  ①元素之前:before

CSS3与页面布局学习总结(六)——CSS3新特性(阴影、动画、渐变、变形、伪元素等)

目录 一.阴影 1.1.文字阴影 1.2.盒子阴影 二.背景 2.1.背景图像尺寸 2.2.背景图像显示的原点 三.伪元素 3.1.before 3.2.after 3.3.清除浮动 四.圆角与边框 4.1.border-radius 圆角 4.2.边框图片border-image 五.变形 transform 5.1.rotate()2D旋转 5.2.设置原点 transform-origin 5.3.平移 translate() 5.4.缩放 scale 5.5.斜切扭曲skew 六.渐变