重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在 CSS3 出现之前,动画都是通过 JavaScript 动态的改变元素的样式属性来完成了,这种方式虽然能够实现动画,但是在性能上存在一些问题。CSS3 的出现,让动画变得更加容易,性能也更加好。
创新互联公司-专业网站定制、快速模板网站建设、高性价比永仁网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式永仁网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖永仁地区。费用合理售后完善,10年实体公司更值得信赖。
CSS3 中有三个关于动画的样式属性 transform 、 transition 和 animation ;
transform 可以用来设置元素的形状改变,主要有以下几种变形: rotate (旋转)、 scale (缩放)、 skew (扭曲)、 translate (移动)和 matrix (矩阵变形),语法如下:
none 表示不做变换; transform-function 表示一个或多个变化函数,变化函数由函数名和参数组成,参数包含在 () 里面,用 空格 分开,例如:
所有的变形都是基于基点,基点默认为元素的中心点。用法: transform-origin: (x, y) ,其中 x 和 y 的值可以是百分比、rem 或者是 px 等等,也可以用表示位置的单词来表示例如:x 可以用 left 、 center 、 right ;y 可以用 top 、 center 、 bottom 。
用法: rotate(angle) ;表示通过指定的角度对元素进行旋转变形,如果是正数则顺时针旋转,如果是负数则逆时针旋转,例如:
它有三种用法: scale(number[, number]) 、 scaleX(number) 和 scaleY(number) ;分别代表水平和垂直方向同时缩放、水平方向的缩放以及垂直方向的缩放,入参代表水平或者垂直方向的缩放比例。缩放比例如果大于1则放大,反之则缩小,如果等于1代表原始大小。
移动也分三种情况: translate(translation-value[, translation-value]) 、 translateX(translation-value) 和 translateY(translation-value) ;分别代表水平和垂直的移动、水平方向的移动以及垂直方向同时移动,移动单位是 CSS 中的长度单位: px 、 rem 等;
扭曲同样也有三种情况, skew(angle[, angle]) 、 skewX(angle) 和 skewY(angle) ;同样也是水平和垂直方向同时扭曲、水平方向的扭曲以及垂直方向的扭曲,单位为角度。
矩阵变形相对来说非常复杂,涉及到数学中的矩阵计算,有兴趣的同学可以研究一下: CSS3 Transform Matrix
transition 是用来设置样式的属性值是如何从从一种状态变平滑过渡到另外一种状态,它有四个属性:
它是用来设置哪些属性的改变会有这种平滑过渡的效果,主要有以下值:
它是用来设置转换过程的持续时间,单位是 s 或者 ms ,默认值为0;
它是来设置过渡效果的速率,它有6种形式的速率:
它是来设置过渡动画开始执行的时间,单位是 s 或者 ms ,默认值为0;
它是 transition-property 、 transition-duration 、 transition-timing-function 、 transition-delay 的简写:
animation 比较类似于 flash 中的 逐帧动画 ,逐帧动画就像电影的播放一样,表现非常细腻并且有非常大的灵活性。然而 transition 只是指定了开始和结束态,整个动画的过程也是由特定的函数控制。学习过 flash 的同学知道,这种逐帧动画是由 关键帧 组成,很多个关键帧连续的播放就组成了动画,在 CSS3 中是由属性 keyframes 来完成逐帧动画的。
它是用来设置动画的名称,可以同时赋值多个动画名称,用 , 隔开:
它是用来设置动画的持续时间,单位为 s ,默认值为 0 :
和 transition-timing-function 类似:
它是来设置动画的开始时间,单位是 s 或者 ms ,默认值为0:
它是来设置动画循环的次数,默认为 1 , infinite 为无限次数的循环:
它是来设置动画播放的方向,默认值为 normal 表示向前播放, alternate 代表动画播放在第偶数次向前播放,第奇数次向反方向播放:
它主要是来控制动画的播放状态: running 代表播放,而 paused 代表停止播放, running 为默认值:
它是 animation-name 、 animation-duration 、 animation-timing-function 、 animation-delay 、 animation-iteration-count 、 animation-direction 的简写:
关于 CSS3 的动画的三个属性 transform 、 transition 、 animation 我们都介绍完了,让我们回顾一下。 transform 我们可以理解为元素的几何变形,它是有规律可寻的,这种变形并不会产生动画效果仅仅是原有形状的改变; transition 和 animation 它们很像 flash 中的 补间动画 和 逐帧动画 ; transition 是从一个状态变化到另外一种状态,当变化有了平滑的效果后就产生了动画,它是一个公式化的变化,在比较规则的动画效果中我们可以使用,例如:旋转的风车、行驶的汽车、颜色的渐变等等; animation 的动画效果更加灵活,可以实现像影片一样的复杂无规则的动画。
[img]创建动画:@keyframes规则。
方式一:from{属性:值;} to{属性:值;}
2
创建动画
方式二:0%{属性:值;} 100%{属性:值;}
0% 是动画的开始,100% 是动画的完成。可以在二者之间加入25%,50%等。
3
将动画绑定到选择器:
在样式中,设置动画属性animation,自定义动画名称和时长。
animation:动画名 时长;
此时就可以完成一个简单的动画了,要进行更多设置还需要其他属性。
4
规定动画开始时的等待时间:
animation-delay:时间;可以为秒、毫秒2s,2ms。
5
播放次数:
animation-iteration-count:次数;
永久播放的值取infinite。
6
动画速度曲线:
animation-timing-function:变化类型;
变化类型有:linear 匀速;ease-in 开始慢;ease-out 结束慢;ease 动画有一个缓慢的开始,然后快,结束慢。
1、看下图的代码
2、看看代码显示出来的效果
相信你也已经看出来了,内联是没问题的,但是对于开发者来说是不支持的,因为不好维护,一点点代码是没有问题的,但是当代码很多的时候就不适合了,最好的做法是将css单独放到一个样式文件里,然后将该样式引入进去就行。
外联式样式(属于外部样式表)
特征:
1、有一个单独的CSS文件存在![如:001.css]
2、首先,通过【格式】→【样式表连接】与CSS文件[001.css]建立连接!
3、在合适的地方使用 class="样式名" 调用具体的样式效果!
如:link href="001.css" type="text/css" rel="Stylesheet"/
嵌入式样式(属于内部样式表)
特征:
1、样式的属性内容以代码的形式[放在 ]写在网页代码中!
2、首先,通过【格式】→【样式】设置样式的属性内容!
3、在合适的地方使用 class="样式名" 调用具体的样式效果!
如: style type="text/css"
.main{ width:1002px; margin:0 auto;}
/style
内联式样式(属于内部样式表)
特征:
1、样式的属性内容直接跟在将要修饰的文字标记里[如:
2、具体格式: style="font-size:10px;font-color:#ff0000"
例如:修饰单元格里的文字
3. 嵌入式
最初级的 CSS 写法即把代码直接添加于所修饰的标记元素。示例代码如下:
div style="font-family:Arial,Helvetica,sans-serif;"芒果/div
这样做虽然更为直观,但很大程度上加大了页面体积,不符合结构与表现分离的设计思想。
总体而言,外联和内联各有优点,可综合实际情况选择适合的级联方式。
扩展资料:
编程工具
记事本:使用Windows系统自带的记事本可以编辑网页。只需要在保存文档时,以.html为后缀名进行保存即可。
Dreamweaver:它与Flash、Fireworks并称网页三剑客。Dreamweaver是集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别开发的视觉化网页开发工具,利用它可以轻而易举地制作出充满动感的网页。
语言特点
CSS为HTML标记语言提供了一种样式描述,定义了其中元素的显示方式。CSS在Web设计领域是一个突破。利用它可以实现修改一个小的样式更新与之相关的所有页面元素。
总体来说,CSS具有以下特点:
丰富的样式定义
CSS提供了丰富的文档样式外观,以及设置文本和背景属性的能力;允许为任何元素创建边框,以及元素边框与其他元素间的距离,以及元素边框与元素内容间的距离;允许随意改变文本的大小写方式、修饰方式以及其他页面效果。
易于使用和修改
CSS可以将样式定义在HTML元素的style属性中,也可以将其定义在HTML文档的header部分,也可以将样式声明在一个专门的CSS文件中,以供HTML页面引用。总之,CSS样式表可以将所有的样式声明统一存放,进行统一管理。
另外,可以将相同样式的元素进行归类,使用同一个样式进行定义,也可以将某个样式应用到所有同名的HTML标签中,也可以将一个CSS样式指定到某个页面元素中。如果要修改样式,我们只需要在样式列表中找到相应的样式声明进行修改。
多页面应用
CSS样式表可以单独存放在一个CSS文件中,这样我们就可以在多个页面中使用同一个CSS样式表。CSS样式表理论上不属于任何页面文件,在任何页面文件中都可以将其引用。这样就可以实现多个页面风格的统一。
层叠
简单的说,层叠就是对一个元素多次设置同一个样式,这将使用最后一次设置的属性值。例如对一个站点中的多个页面使用了同一套CSS样式表,而某些页面中的某些元素想使用其他样式,就可以针对这些样式单独定义一个样式表应用到页面中。
这些后来定义的样式将对前面的样式设置进行重写,在浏览器中看到的将是最后面设置的样式效果。
页面压缩
在使用HTML定义页面效果的网站中,往往需要大量或重复的表格和font元素形成各种规格的文字样式,这样做的后果就是会产生大量的HTML标签,从而使页面文件的大小增加。
而将样式的声明单独放到CSS样式表中,可以大大的减小页面的体积,这样在加载页面时使用的时间也会大大的减少。另外,CSS样式表的复用更大程序的缩减了页面的体积,减少下载的时间。
参考资料:百度百科-CSS