html和css3一出,整个互联网设计发生了颠覆性的改变,各大IT企业也推出了很多新颖的设计,比如百度浏览器的下载首页,fullpage设计风格加css动画让网页看起来很流畅舒服。

css3的变换有3d和2d之分,现在直接介绍3d,2d的可以减少z轴。      

1.transform变换

transform属性值是一个或者多个变换函数,格式如下:transform:translate3d(x,y,z)|rotate3d(dx,dy,dz,a)|scale(x,y)|skew(dx,dy)

a)translate位移:顾名思义,位移是在坐标轴上移动的,在css的世界里,所有的坐标轴都是下图这样定义的(z轴伸出屏幕为正向)。

位移是基于元素中心位置发生变化的,比如正方形div,它的元素中心位置就是正方形的形心。特别注意的是发生位移后,元素的margin等距离属性不会发生变化,所以,会导致重叠效果,如果想要实现遮盖效果可以使用z-index属性。

#div2 {
opacity:0.5
}
#div3 {
border:2px solid blue;
margin-top:-103px;
transform:translate3d(20px,20px,20px);
}
#div4{
border:2px solid red;
margin-top:-104px;
transform:rotate(45deg);
}

如此看来,transform的z轴位移没什么卵用。

b)rotate3d旋转

rotate3d(dx,dy,dz,a),参数说明:dx,dy,dz分别是x,y,z轴方向的矢量,也就是说(dx,dy,dz)组成一个向量,a表示绕着这个向量旋转的角度。

#div2 {
opacity:0.5
}
#div3 {
margin-top:-103px;
transform:rotate3d(0,0,1,45deg);
}
#div4{
border:2px solid red;
margin-top:-104px;
transform:rotate(45deg);
}

c)scale拉伸

scale3d(x,y,z)参数说明:x,y,z分别表示拉伸的倍数,通常情况下沿着Z轴拉伸是不可见的.

#div1 {
margin-top:-104px;
border:2px solid #222222;
transform:scale3d(1.1,1.1,7);
}
#div2 {
opacity:0.5;
}

d)skew倾斜

对于倾斜来说,只能是2d倾斜,3d倾斜没有效果。

#div1 {
margin-top:-104px;
border:2px solid #222222;
transform:skew(45deg)
}
#div2 {
opacity:0.5;
}
#div3 {
border:2px solid blue;
margin-top:-103px;
transform:skewY(45deg);
}

skew和rotate的区别是rotate不会改变元素的形状,而skew只会改变形状。

e) matrix矩阵变换

对于矩阵变换,一般都可以转换为相应的简单变换。

2。transition过渡

上边讲了变换,其实发现没什么大的作用,因为大部分绚丽的网页设计都不是静态的,而是和动画相结合,过渡则是一种最简单的动画效果。过渡就是元素的一个属性从一个值变到另外一个值的过程。要定义这个过渡,需要4个变量:需要变化的元素属性,过渡时长,过渡速度,过渡延迟。这4个变量中其他3个都比较容易理解,只有元素的属性比较复杂,下面一一介绍。

3.animation动画

过渡和动画的不同就在于过渡只能规定开始和结束的状态,不能规定中间的变化情况,动画则实现了从开始到结束的之间任意状态。

另外,CSS3增加了三个事件animationStart animationEnd animationInterion事件,可以监听该事件让动画静止到结束的状态。


css3变换,过度,动画实现梦幻网页的更多相关文章

  1. CSS3:变换和动画

    <html> <style> .container{ -webkit-perspective: 800; -webkit-perspective-origin: 50% 40% ...

  2. css3 变换、过渡效果、动画

    1 CSS3 选择器 1.1 基本选择器 1.2 层级 空格 > + .item+li ~ .item~p 1.3 属性选择器 [attr] [attr=value] [attr^=value] ...

  3. css3 3D变换和动画

    3D变换和动画 建立3D空间,transform-style: preserve-3d perspective: 100px; 景深 perspective-origin:center center ...

  4. CSS3中的动画效果记录

    今天要记录的是CSS3中的三种属性transform.transition以及animation,这三个属性大大提升了css处理动画的能力. 一.Transform 变形 CSS中transform ...

  5. IT兄弟连 HTML5教程 CSS3属性特效 动画-animation

    CSS3属性中有关于制作动画的三个属性:Transform,Transition,Animation.前面已经介绍过Transform和Transition了,这里我们来学习Animation动画.通 ...

  6. 3D Grid Effect – 使用 CSS3 制作网格动画效果

    今天我们想与大家分享一个小的动画概念.这个梦幻般的效果是在马库斯·埃克特的原型应用程序里发现的​​.实现的基本思路是对网格项目进行 3D 旋转,扩展成全屏,并呈现内容.我们试图模仿应用程序的行为,因此 ...

  7. 分享9款极具创意的HTML5/CSS3进度条动画

    1.HTML5/CSS3图片加载进度条 可切换多主题 今天要分享的这款HTML5/CSS3进度条模拟了真实的图片加载场景,插件会默认去从服务器下载几张比较大的图片,然后让该进度条展现当前读取图片的进度 ...

  8. 如何制作css3的3d动画——以骰子旋转为例,详解css3动画属性

    首先先来看两个用css3实现的炫酷的3d动画效果 1 2 3 4 5   6 你没看错,这个炫酷的效果都是用css3实现的. 下面是动画实现所需要用到的几个css3属性. 1.perspective: ...

  9. 9款极具创意的HTML5/CSS3进度条动画(免积分下载)

    尊重原创,原文地址:http://www.cnblogs.com/html5tricks/p/3622918.html 免积分打包下载地址:http://download.csdn.net/detai ...

随机推荐

  1. Eclipse导入项目常见问题----jdk版本问题(有个红色感叹号)01

    我们导入项目时,有时会看到项目上有一个[红色的感叹号!],这说明该项目的jdk版本和你的电脑安装的jdk版本不匹配. 可能导入的项目时jkd1.6,1.8等等,而你安装的是jdk1.7 如下图: 解决 ...

  2. 一天搞定CSS:定位position--17

    1.定位取值概览 2.相对定位relative <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...

  3. 快来领取一场专门讲解UTF-8与UTF-16编码算法的GitChat活动的免费名额

    微信扫一扫,可打开该GitChat活动页面 字符编码是计算机世界里最基础.最重要.最令人困惑的一个主题之一.不过,在计算机教材中却往往浮光掠影般地草草带过,甚至连一本专门进行深入介绍的专著都找不到(对 ...

  4. Android 图片加载框架Glide4.0源码完全解析(一)

    写在之前 上一篇博文写的是Picasso基本使用和源码完全解析,Picasso的源码阅读起来还是很顺畅的,然后就想到Glide框架,网上大家也都推荐使用这个框架用来加载图片,正好我目前的写作目标也是分 ...

  5. [codeforces167B]Wizards and Huge Prize

    B. Wizards and Huge Prize time limit per test: 2 seconds memory limit per test: 256 megabytes input: ...

  6. mysql字符编码设置

    1.显示当前编码信息 mysql>show variables like '%character%' +--------------------------+------------------ ...

  7. OS X 和iOS 中的多线程技术(上)

    OS X 和iOS 中的多线程技术(上) 本文梳理了OS X 和iOS 系统中提供的多线程技术.并且对这些技术的使用给出了一些实用的建议. 多线程的目的:通过并发执行提高 CPU 的使用效率,进而提供 ...

  8. Android 的 SDK Manager 无法启动 闪退解决方法

    [故障描述] 做 Android 开发就要下载 Android SDK,其中的 SDK Manager.exe 无法启动,一闪而过. 尝试重装 JDK.重新从官网下载 Android SDK.添加环境 ...

  9. 关于java中使用数组的几点理解笔记

    1.数组元素就是变量: 2.在已有数据类型之后加方括号[],就会产生一个新的数组类型: 分两类:1)基本数据类型,如:int[],string[]; 2)引用数据类型,如:Person[](类): 3 ...

  10. 如何在BCGControlBar界面库的CBCGPFormView子视图里面添加工具栏

    最近有一个项目需求,需要在子视图里面添加一个新工具栏用来处理当前视图对应模块的操作.之前在对话框模式下做过添加工具栏的实现,在CBCGPFormView中添加工具栏还是头一次.在这里记录一下,给自己留 ...