一、我们来给按钮增加一个悬停效果:
#content a:hover {
border: 1px solid #000000;
color: #000000;
text-shadow: 0px 1px white;
}
两种状态下的效果如下,先看默认状态:

再看悬停状态:

这里只是在鼠标悬停时简单地修改了一下文字、文字阴影以及边框的颜色。所以,你可
能想象出来,使用这段 CSS 代码,当鼠标悬停在按钮上面时,按钮会直接从第一种状态
(白色文字)突变到第二种状态(黑色文字)——就是一个开关效果。我们来给第一段
CSS规则添加一点 CSS3魔法:
#content a {
transition: all 1s ease 0s;
}

现在再把鼠标悬停在按钮上,文字、文字阴影和边框阴影的颜色都会从第一种状态平滑
过渡到第二种状态。

CSS3过渡效果涉及四个属性,也可以使用包含这四个属性的缩写。
 transition-property :要过渡的 CSS 属性名称(比如 background-color 、
text-shadow 或者 all ,使用 all 则过渡会被应用到每一个可能的 CSS属性上);
 transition-duration :定义过渡效果持续的时间(时间单位为秒,比如 .3s 、 2s
或 1.5s );
 transition-timing-function :定义过渡期间速度如何变化(比如 ease 、 linear 、
ease-in 、 ease-out 、 ease-in-out 或 cubic-bezier );
 transition-delay :可选,用于定义过渡开始前的延迟时间。相反,将该值设置为
一个负数,可以让过渡效果立即开始,但过渡旅程则会从半路开始。
单独使用各种过渡属性创建转换效果的语法如下:
#content a {
……其他样式……
transition-property: all;
transition-duration: 1s;
transition-timing-function: ease;
transition-delay: 0s;
}

1. 过渡的简写语法
正如我们之前所见过的那样,我们可以将单个的声明组合成一个简写版:
transition: all 1s ease 0s;

简写声明添加了浏览器私有前缀
之后,代码如下:
-o-transition: all 1s ease 0s;
-ms-transition: all 1s ease 0s;
-moz-transition: all 1s ease 0s;
-webkit-transition: all 1s ease 0s;
transition: all 1s ease 0s;

2. 在不同时间段内过渡不同属性
当一条规则要实现多个属性过渡时,这些属性不必步调一致。看看下面这段代码:
#content a {
/*……其他样式……*/
transition-property: border, color, text-shadow;
transition-duration: 2s, 3s, 8s;
}
此处我们通过 transition-property 来指定只过渡 border 、 color 和 text-shadow ,
然后在 transition-duration 声明中我们设定边框过渡效果应该 2秒内完成,文字颜
色 3秒,文字阴影 8秒。由逗号分隔的过渡持续时间按顺序对应上面的 CSS属性。

二、CSS3 的 2D 变形

有两种可用的 CSS3变形:2D变形和 3D变形。2D变形的实现更广泛,浏览器支持更好,
写起来也更简单些,所以我们先来看看 2D 变形。CSS3 的 2D 变形模块允许我们使用下
列变形。
 scale :用来缩放元素(放大或缩小)
 translate :在屏幕上移动元素(上下左右四个方向)
 rotate :按照一定角度旋转元素(单位为度)
 skew :沿 X和 Y轴对元素进行斜切
 matrix :允许你以像素精度来控制变形效果

傻瓜化的矩阵变形工具
无论怎么想象我都不是一个数学家,所以当我需要创建矩阵变形时,我一般都走捷径。
如果你的数学也不太好,我建议你访问这里

傻瓜化的矩阵变形工具
无论怎么想象我都不是一个数学家,所以当我需要创建矩阵变形时,我一般都走捷径。
如果你的数学也不太好,我建议你访问这里:http://www.useragentman.com/matrix/

尝试 CSS3 的 3D 变形

将鼠标悬停在图片上(在触摸屏上则是触击图片)就能揭晓答案。
下面的代码是相关的页面标签,其中省略了重复的图片标签,因为它们的结构都一样:
<section class="Qcontainer">
<div class="film">
<div class="face front">
<img src="img/goonies.jpg" alt="The Goonies" />
</div>
<div class="face back"><h5>HOT!</h5></div>
</div>
</section>
对应的 CSS代码如下。

.Qcontainer {
height: 100%;
width: 28%;
position: relative;
-webkit-perspective: 800;
float: left;
margin-right: 2%;
}
.film {
width: 100%;
height: 15em;
-webkit-transform-style: preserve-3d;
-webkit-transition: 1s;
}
.Qcontainer:hover .film {
-webkit-transform: rotateY(180deg);
}
.face {
position: absolute;
-webkit-backface-visibility: hidden;
}
.back {
width: 66%;
height: 127%;
-webkit-transform: rotateY(180deg);
background: #3b3b3b;
background: -webkit-linear-gradient(top,
rgba(0,0,0,0.65) 0%,
rgba(0,0,0,0) 100%);
padding: 15%;
}
代码部署好之后,将鼠标悬停在海报图片上,会看到图片翻转到背面并显示出了该电影
的评判结果。

CSS3 动画效果

首先是关键帧规则:
@keyframes warning {
0% {
text-shadow: 0px 0px 4px #000000;
}
50% {
text-shadow: 0 0 20px #000000;
}
100% {
text-shadow: 0px 0px 4px #000000;
}
}
此处的代码没有加前缀,如果在浏览器中没有效果,你可能需要添加一组完整的浏览器
私有前缀(如 @-webkit-keyframes )。

分析代码:

首先,我们定义了一个 @keyframes (关键帧)声明。然后为这个特定的关键帧声明设置
了一个名称: warning 。你可以将其叫成任何名字,但考虑到这些关键帧声明可以在多
个元素上复用,所以建议取一个合理的名字。
可以设置多个关键帧(比如百分比值 10%、20%、30%、40%等等),或者也可以使用 from
和 to 值来定义动画的开始帧和结束帧。

动画开始时是 4像素阴影,然后用 50%的时间变化至 40像
素阴影,之后再变化回 4像素阴影

我们设定了要使用的关键帧(例子中的 warning ),然后设定
了动画的持续时间( 1.5s ),之后设定了 animation-iteration-count (我们在此时
使用了 infinite 让动画连续循环播放),最后设定了调速函数( ease-in )。

CSS3 过渡、变形和动画的更多相关文章

  1. css3中变形与动画(三)

    transform可以实现矩阵变换,transition实现属性的平滑过渡,animation意思是动画,动漫,这个属性才和真正意义的一帧一帧的动画相关.本文就介绍animation属性. anima ...

  2. css3中变形与动画(二)

    css3制作动画的几个属性:变形(transform),过渡(transition)和动画(animation). transform介绍过了.接下来介绍过渡transition. 一.例子 先通过一 ...

  3. css3中变形与动画(一)

    css3制作动画的几个属性:变形(transform),过渡(transition)和动画(animation). 首先介绍transform变形. transform英文意思:改变,变形. css3 ...

  4. css3实现循环执行动画,且动画每次都有延迟

    一.最终效果 需求:gift图片的小动画每隔2s执行一次. 需求就一句话,我们看一下实现过程. 二.实现过程 1.网页结构 <!DOCTYPE html> <html lang=&q ...

  5. CSS3过渡、变形和动画

    1.CSS3过渡 所谓CSS3过渡,就是使用CSS3让元素从一种状态慢慢转换到另一种状态.如鼠标的悬停状态就是一种过渡.如下例子: #content a{     text-decoration: n ...

  6. css3中的变形(transform)、过渡(transtion)、动画(animation)

    Transform字面上就是变形,改变的意思.在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动translate以及矩阵变形matrix.下面我们一 ...

  7. CSS3中的变形与动画【转】

    最近在学习制作移动端的页面,做了一个微信页面的小demo,其中用到了很多的CSS3新增的内容,其中就有CSS3新增的变形和动画.其实这种CSS3的动画效果用JS也可以实现,不过CSS3能开启硬件加速, ...

  8. CSS3学习(CSS3过渡、CSS3动画)

    CSS3过渡:transition属性--专门应对颜色.长度.宽度.位置等变化的过渡 通过CSS3,我们可以在不使用Flash和JavaScript的情况下,为当前某元素从某样式改变为某样式的时候添加 ...

  9. css3基础教程十六变形与动画animation

    前面我们讲过的变形与动画一般都是通过鼠标的单击.获得焦点,被点击或对元素进行一定改变后以后触发效果的,那么有没有像Flash一样自动播放的动画效果呢?答案当然是肯定的,这就是我们今天要讲到的anima ...

  10. 从零开始学习前端开发 — 15、CSS3过渡、动画

    一.css3过渡 语法: transition: 过渡属性 过渡时间 延迟时间 过渡方式; 1.过渡属性(transition-property) 取值:all 所有发生变化的css属性都添加过渡 e ...

随机推荐

  1. js 正则常用函数

    正则表达式中,需要转义的字符: * . ? + $ ^ [ ] ( ) { } | \ / let reg = /\d+/g let str = 'ad/23/dfww/454/6' 1. reg.t ...

  2. SQL函数应用-DATEPART()

    作用:DATEPART() 函数用于返回日期/时间的单独部分,比如年.月.日.小时.分钟等等. 语法格式:DATEPART(datepart,date) 参数说明: datepart 是指定应返回的日 ...

  3. SQL Server Mobile/Compact Edition 简单介绍

    除了SQL Server Express,SQL Server还有个更轻量级的版本:SQL Server Compact Edition,容易让人想起Windows Compact Edition ( ...

  4. ASC日志保存时间更改

    连接到数据库,选择 OperationsManagerAC,修改dtConfig表即可,新建查询: select * from dtConfig Update dtConfig set value=2 ...

  5. MP4个人制作

  6. MapReduce Design Patterns(chapter 3 (part 1))(五)

    Chapter 3. Filtering Patterns 本章的模式有一个共同点:不会改变原来的记录.这种模式是找到一个数据的子集,或者更小,例如取前十条,或者很大,例如结果去重.这种过滤器模式跟前 ...

  7. DNS配置范例

    这里使用CentOS 7作为DNS主服务器.(ip:172.18.7.77) 正向解析配置: ]# vim /etc/named.rfc1912.zones zone "opsnote.co ...

  8. [EffectiveC++]item15:Provide access to raw resources in resource-managing class

    在资源管理类中提供对原始资源的访问

  9. There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:661) - skipping

    Could not fetch URL https://pypi.python.org/simple/xlrd/: There was a problem confirming the ssl cer ...

  10. Python数据类型-字典

    字典(dict) 字典是key:value形式的一种表达形式,例如在Java中有map,JavaScript中的json,Redis中的hash等等这些形式.字典可以存储任意的对象,也可以是不同的数据 ...