时光转眼即逝,又到周六了,今天写点某部分人看不起的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. ABP文档 - 后台作业和工作者

    文档目录 本节内容: 简介 后台作业 关于作业持久化 创建一个后台作业 在队列里添加一个新作业 默认的后台作业管理器 后台作业存储 配置 禁用作业执行 Hangfire 集成 后台工作者 创建一个后台 ...

  2. ASP.NET Core中如影随形的”依赖注入”[下]: 历数依赖注入的N种玩法

    在对ASP.NET Core管道中关于依赖注入的两个核心对象(ServiceCollection和ServiceProvider)有了足够的认识之后,我们将关注的目光转移到编程层面.在ASP.NET ...

  3. WebGIS项目中利用mysql控制点库进行千万条数据坐标转换时的分表分区优化方案

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 项目中有1000万条历史案卷,为某地方坐标系数据,我们的真实 ...

  4. jQuery幻灯片插件autoPic

    原文地址:Jquery自定义幻灯片插件 插件效果图: 演示地址:autoPic项目地址:autoPic 欢迎批评指正!

  5. C#委托异步调用

    参考页面: http://www.yuanjiaocheng.net/webapi/mvc-consume-webapi-get.html http://www.yuanjiaocheng.net/w ...

  6. WinForm设置控件焦点focus

    winform窗口打开后文本框的默认焦点设置,进入窗口后默认聚焦到某个文本框,两种方法: ①设置tabindex 把该文本框属性里的tabIndex设为0,焦点就默认在这个文本框里了. ②Winfor ...

  7. MyBatis源码分析(二)语句处理器

    StatementHandler 语句处理器,主要负责语句的创建.参数的设置.语句的执行.不负责结果集的处理. Statement prepare(Connection connection, Int ...

  8. 在Ubuntu下搭建Spark群集

    在前一篇文章中,我们已经搭建好了Hadoop的群集,接下来,我们就是需要基于这个Hadoop群集,搭建Spark的群集.由于前面已经做了大量的工作,所以接下来搭建Spark会简单很多. 首先打开三个虚 ...

  9. [jquery]jquery正则表达式验证(手机号、身份证号、中文名称)

    数字判断方法:isNaN()函数 test()方法 判断字符串中是否匹配到正则表达式内容,返回的是boolean值 ( true / false ) // 验证中文名称 function isChin ...

  10. vue2.0构建淘票票webapp

    项目描述 之前一直用vue1.x写项目,最近为了过渡到vue2.0,特易用vue2.0栈仿写了淘票票页面,而且加入了express作为后台服务. 前端技术栈:vue2.0 + vue-router + ...