时光转眼即逝,又到周六了,今天写点某部分人看不起的css玩玩!

转换

转换属性transform:

浏览器前缀:
-webkit-transform;-o-transform;-moz-transform;-ms-transform;
取值:
none : 默认值,没有转换操作
transform-function:一组转换函数
transform:函数1() 函数2() ......;

转换的原点transform-origin

在不指定原点前提前,默认原点为元素的中心处
取值:数值/百分比/关键字
一个值:所有轴位置
两个值:表示x轴和y轴
三个值:表示x轴,y轴,z轴

2D转换

2D位移

函数:translate()
取值:
translate(x) : 只做x轴(横向)移动
translate(x,y) : 做x轴和y轴的移动
方向:看符号

+ 向右、向下
- 向左、向上

注意:

取值可以为数值或百分比、负数
单向位移函数:
translateX(x) : 只做x轴移动
translateY(y) : 只做y轴移动

缩放

改变元素的尺寸
函数:scale()
取值:
1个值:表示第一个值和第二个值是相等的
2个值:第一个 x 第二个 y
单向缩放函数:
scaleX(x),scaleY(y)
取值:
默认值 为1
缩小:0-1之间的小数
放大:大于1的数值

旋转

函数:rotate()
取值:rotate(ndeg)
n : 具体角度值
n为正, 则顺时针旋转
n为负, 则逆时针旋转

倾斜

函数:skew()
skewx() --x轴倾斜
skewy() --y轴倾斜

过渡

过渡属性

作用:指定元素在哪些css属性上的变化会产生过渡的效果(必须的)
属性:transition-property
取值:none | all | property
eg:transition-property:background;
eg:transition-property:background,width,height;

过渡时间

作用:指定过渡效果在多长时间内完成。
注意:可以以 s | ms 为单位.该属性不能省略,一旦省略则没有过渡效果
属性:transition-duration
取值:s|ms
eg:transition-duration:5s;
eg:transition-duration:5s,1s,1s;

过渡时间速度曲线函数

作用:定义整个过渡效果的速率。比如 先快后慢,还是 先慢后快,或者还是匀速
属性:transition-timing-function
取值:预定义值或贝塞尔曲线
ease : 默认值,慢速开始,快速变快,以慢速结束
linear:匀速
ease-in:慢速开始,加速效果
ease-out:慢速结束(快速开始),减速效果
ease-in-out:慢速开始和结束,中间先加后减
eg:transition-timing-function:linear;

过渡延迟

作用:激发过渡操作后,等待多长时间后才开始执行过渡效果
属性:transition-delay
取值:以 s | ms为单位的时间
eg:transition-delay:5s;

简写过渡属性  transition

属性:transition
取值:以空格分开的值列表
property duration timing-function delay;
eg:transition:background 1s linear 0s;
transition:background 1s;
多个过渡效果:
transition : background 1s linear 0s,
color 2s linear 0s,
border-radius 3s linear 1s;

动画

动画的详细参数去看w3c吧!

这里就提下注意的地方:

@keyframes语法:(单独写,在选择器外,style内)
@keyframes name{
from {css样式;}
percent{css样式;}
to {css样式;}
} animation语法:(写在选择器内)
animation:name duration timing-function delay iteration-count direction;

animation-fill-mode

(ie10+)属性规定动画在播放之前或之后,其动画效果是否可见。

none --不改变默认行为。

forwards-- 当动画完成后,保持最后一个属性值(在最后一个关键帧中定义)。

backwards --在 animation-delay 所指定的一段时间内,在动画显示之前,应用开始属性值 (在第一个关键帧中定义)。

both --向前和向后填充模式都被应用。

说的也差不多了,直接上代码!

<!DOCTYPE html>
<html>
<head>
<title>css3 transition animation nick </title>
<meta charset="utf-8" />
<style>
body{background-color:#b2b2b2;}
/*2d*/
#d2{
width:500px;
margin:auto;
}
div[id^='img']{width:300px;height:300px;background-color:yellow;}
#nav{margin:10px auto;}
#nav a{
padding:3px 10px;
background:#666;
color:#fff;
font-weight:bold;
border-radius:5px;
}
#showImg{
width:400px;
height:350px;
border:1px solid #333;
text-align:center;
margin-top:20px;
/*相对定位*/
position:relative;
}
#showImg div{
display:none;
}
#showImg div:target{
display:block;
} #showImg #img1:target{
display:block;
/*绝对定位*/
position:absolute;
top:0px;
-webkit-animation:sliderLeft 3s linear;
}
/*定义动画*/
@-webkit-keyframes sliderLeft{
from{
left:-350px;
}
to{
left:0px;
}
} #showImg #img2:target{
-webkit-animation:sliderBottom 3s linear;
animation-fill-mode:forwards ;
}
@-webkit-keyframes sliderBottom{
from{
transform:skew(0deg,0deg);
}
to{
transform:skew(45deg,30deg);
}
}
#showImg #img3:target{
-webkit-animation:scaleIn 3s linear 0s;
}
@-webkit-keyframes scaleIn {
from{
transform:scale(0);
}
to{
transform:scale(1);
}
} #showImg #img4:target{
-webkit-animation:rotateScale 3s linear;
}
@-webkit-keyframes rotateScale{
from{
transform:scale(0) rotate(0deg);
}
to{
transform:scale(1) rotate(360deg);
}
}
/*3d*/
p{text-align:center}
#stage{
width:800px;
height:500px;
border-radius:50%;
margin:0 auto;
border:1px solid blue;
position:relative;
-webkit-perspective:1200px;
/*被嵌套元素的显示模式*/
transform-style:preserve-3d;
transform:perspective(1200px) rotatex(0deg) rotatey(0deg);
background-color: #4cd964;
}
#stage div{
width:100px;
height:100px;
line-height:100px;
border-radius:50%;
background:red;
position:absolute;
left:350px;
top:270px;
text-align:center;
font-size:26px;
color:yellowgreen;
}
#stage div:nth-child(1){
transform:rotatey(0deg) translatez(200px);
} #stage div:nth-child(2){
transform:rotatey(60deg) translatez(200px);
} #stage div:nth-child(3){
transform:rotatey(120deg) translatez(200px);
} #stage div:nth-child(4){
transform:rotatey(180deg) translatez(200px);
} #stage div:nth-child(5){
transform:rotatey(240deg) translatez(200px);
} #stage div:nth-child(6){
transform:rotatey(300deg) translatez(200px);
}
@keyframes rotate3d {
from{
transform:perspective(1000px) rotatex(0deg) rotatey(0deg) rotatez(0deg);
}
to{
transform:perspective(1000px) rotatex(-180deg) rotatey(-180deg) rotatez(180deg);
}
}
#stage:hover{
animation:rotate3d 5s linear infinite;
/*animation-fill-mode:forwards ;*/
}
</style>
</head>
<body>
<!--2d-->
<div id="d2">
<div id="showImg">
<div id="img1"></div>
<div id="img2"></div>
<div id="img3"></div>
<div id="img4"></div>
</div>
<div id="nav">
<a href="#img1">2D位移动画</a>
<a href="#img2">2D倾斜动画</a>
<a href="#img3">2D缩放动画</a>
<a href="#img4">2D缩放旋转动画</a>
</div>
</div> <!--3d-->
<p>鼠标悬停预览3d效果</p>
<div id="stage">
<div>WEB</div>
<div>NICK</div>
<div>WEB</div>
<div>NICK</div>
<div>WEB</div>
<div>NICK</div>
</div>
</body>
</html>

最后展示下效果!

css3 transition animation nick的更多相关文章

  1. CSS3 & transition & animation

    CSS3 & transition & animation https://developer.mozilla.org/en-US/docs/Web/CSS/transition-ti ...

  2. css笔记——区分css3中的transform transition animation

    出处:http://blog.csdn.net/dyllove98/article/details/8957232   CSS3中和动画有关的属性有三个  transform. transition  ...

  3. css3动画transition animation

    CSS动画简介  transition   animation transition过渡:css3通过transitions属性引入时间概念,通过开始.结束状态自动计算中间状态,实现状态改变的过渡效果 ...

  4. css3 transition属性

    最近打算学习css3知识,觉得css3写出来的效果好炫好酷,之前一直想要学习来着.可能之前的决心,毅力,耐心不够,所以想要重整起来,放下浮躁的心态,一步一个脚印,踏踏实实的来学习. 首先学习的是css ...

  5. Atitti css transition Animation differ区别

    Atitti  css   transition Animation differ区别 1.1. transition的优点在于简单易用,但是它有几个很大的局限.  1 1.2. Transition ...

  6. Atitti  css   transition Animation differ区别

    Atitti  css   transition Animation differ区别 1.1. transition的优点在于简单易用,但是它有几个很大的局限.  1 1.2. js 动态改变 st ...

  7. 【转】CSS3 transition规范的实际使用经验

    原文转自:http://blog.jobbole.com/56243/ 本篇文章主要讲述CSS3 transition规范和在不同浏览器之间的使用差异,关于具体解决方法或如何规避问题的意见可以参考另一 ...

  8. CSS3 transition规范的实际使用经验

    本篇文章主要讲述CSS3 transition规范和在不同浏览器之间的使用差异,关于具体解决方法或如何规避问题的意见可以参考另一篇非常有见地的文章,“All You Need to Know Abou ...

  9. css 动画 transform transition animation

    1.transform  transform 是通过在浏览器里面让网页元素 移动 旋转 透明 模糊 等方法来实现改变其外观的技术 -webkit-transform : translate(3em,0 ...

随机推荐

  1. 使用Visual Studio SDK制作GLSL词法着色插件

    使用Visual Studio SDK制作GLSL词法着色插件 我们在Visual Studio上开发OpenGL ES项目时,避免不了写Shader.这时在vs里直接编辑shader就会显得很方便. ...

  2. 渗透测试工具BurpSuite做网站的安全测试(基础版)

    渗透测试工具BurpSuite做网站的安全测试(基础版) 版权声明:本文为博主原创文章,未经博主允许不得转载. 学习网址: https://t0data.gitbooks.io/burpsuite/c ...

  3. 【开源】.Net 动态脚本引擎NScript

    开源地址: https://git.oschina.net/chejiangyi/NScript 开源QQ群: .net 开源基础服务  238543768 .Net 动态脚本引擎 NScript   ...

  4. [C#] C# 知识回顾 - 学会处理异常

    学会处理异常 你可以使用 try 块来对你觉得可能会出现异常的代码进行分区. 其中,与之关联的 catch 块可用于处理任何异常情况. 一个包含代码的 finally 块,无论 try 块中是否在运行 ...

  5. Java程序员:工作还是游戏,是该好好衡量一下了

    前阵子我终于下定决心,删掉了硬盘里所有的游戏. 身为一个程序猿,每天都要和各种新技术打交道,闲暇时间,总还得看一下各大论坛,逛逛博客园啥的,给自己充充电.游戏的话,其实我自小就比较喜欢,可以算是一种兴 ...

  6. linux拷贝命令,移动命令

    http://blog.sina.com.cn/s/blog_7479f7990101089d.html

  7. Spring注解

    AccountController .java Java代码   1.        /** 2.         * 2010-1-23 3.         */ 4.        packag ...

  8. Android中常见的图片加载框架

    图片加载涉及到图片的缓存.图片的处理.图片的显示等.而随着市面上手机设备的硬件水平飞速发展,对图片的显示要求越来越高,稍微处理不好就会造成内存溢出等问题.很多软件厂家的通用做法就是借用第三方的框架进行 ...

  9. atitit.attilax的软件 架构 理念.docx

    atitit.attilax的软件 架构 理念.docx 1. 预先规划.1 2. 全体系化1 3. 跨平台2 4. 跨语言2 5. Dsl化2 5.1. 界面ui h5化2 6. 跨架构化2 7. ...

  10. linux下使用shell 自动执行脚本文件

    以下实例本人在Centos6.5 64位操作系统中使用 一.定时复制文件 a.在/usr/local/wfjb_web_back目录下创建 tomcatBack.sh文件 文件内容: #将tomcat ...