您现在的位置是:网站首页> 编程资料编程资料
CSS3中Transform动画属性用法详解 _css3_CSS_网页制作_
2021-09-13
1269人已围观
简介 这篇文章主要为大家详细介绍了CSS3中Transform动画属性用法,教大家如何实现2D transform变换、3D transform变换,感兴趣的小伙伴们可以参考一下
css3在原来的基础上增加了变形和动画相关的属性,动画三兄弟:transform、transition和animation,通过使用这三个属性可以达到很炫酷的效果。需要注意的是这三个属性都是css3新增的属性,各大浏览器支持方面还不是特别好,使用时要特别注意浏览器的兼容性,本文重点介绍Transform的使用方法,具体内容如下
浏览器支持情况:
Internet Explorer 10、Firefox、Opera 支持 transform 属性。
Internet Explorer 9 支持替代的 -ms-transform 属性(仅适用于 2D 转换)。
Safari 和 Chrome 支持替代的 -webkit-transform 属性(3D 和 2D 转换)。
Opera 只支持 2D 转换。
2D transform变换方法

•translate(x, y)方法,根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动。x, y的值可以取正负,分别表示表示向不同的方向偏移。
•rotate(angle)方法, 表示旋转angle角度。angle为正时,按顺时针角度旋转,为负值时,元素逆时针旋转。
•scale(x, y)方法,表示元素在x轴和y轴上的缩放比例,参数大于1时,元素放大,小于1时,元素缩小。
•skew(x-angle,y-angle)方法,用来对元素进行扭曲变行,第一个参数是水平方向扭曲角度,第二个参数是垂直方向扭曲角度。其中第二个参数是可选参数,如果没有设置第二个参数,那么Y轴为0deg
•matrix(n,n,n,n,n,n)方法, 以一个含六值的变换矩阵的形式指定一个2D变换,此属性值使用涉及到数学中的矩阵,感兴趣的读者可以深入了解一下,这里就不做详细介绍了。
下面是上面方法的演示:
- >
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>transform 2D演示title>
- <style type="text/css">
- #container{
- width: 700px;
- height: 120px;
- border: 1px solid blue;
- margin: 20px auto;
- padding: 20px 20px;
- }
- #div1 ,#div2, #div3, #div4{
- height: 100px;
- width: 100px;
- border: 1px dashed red;
- display: inline-block;
- }
- #div1 div{
- height: 100px;
- width: 100px;
- background: #63F7ED;
- transform:translate(20px,10px); /* W3C标准 */
- -ms-transform:translate(20px,10px); /* IE 9 */
- -moz-transform:translate(20px,10px); /* Firefox */
- -webkit-transform:translate(20px,10px); /* Safari 和 Chrome */
- -o-transform:translate(20px,10px); /* Opera */
- }
- #div2{margin-left: 50px;}
- #div2 div{
- height: 100px;
- width: 100px;
- background: #63F7ED;
- transform:rotate(45deg); /* W3C标准 */
- -ms-transform:rotate(45deg); /* IE 9 */
- -moz-transform:rotate(45deg); /* Firefox */
- -webkit-transform:rotate(45deg); /* Safari 和 Chrome */
- -o-transform:rotate(45deg); /* Opera */
- }
- #div3{margin-left: 100px;}
- #div3 div{
- height: 100px;
- width: 100px;
- background: #63F7ED;
- transform:scale(2,0.5); /* W3C标准 */
- -ms-transform:scale(2,0.5); /* IE 9 */
- -moz-transform:scale(2,0.5); /* Firefox */
- -webkit-transform:scale(2,0.5); /* Safari 和 Chrome */
- -o-transform:scale(2,0.5); /* Opera */
- }
- #div4{margin-left: 100px;}
- #div4 div{
- height: 100px;
- width: 100px;
- background: #63F7ED;
- transform:skew(30deg,-20deg); /* W3C标准 */
- -ms-transform:skew(30deg,-20deg); /* IE 9 */
- -moz-transform:skew(30deg,-20deg); /* Firefox */
- -webkit-transform:skew(30deg,-20deg); /* Safari 和 Chrome */
- -o-transform:skew(30deg,-20deg); /* Opera */
- }
- style>
- head>
- <body>
- <div id="container">
- <div id="div1">
- <div>translatediv>
- div>
- <div id="div2">
- <div>rotatediv>
- div>
- <div id="div3">
- <div>scalediv>
- div>
- <div id="div4">
- <div>skewdiv>
- div>
- div>
- body>
- html>
效果如下:

transform-origin 属性
前面我们提到的transform的方法都是基于元素的中心来变换的,也就是元素变换的基点默认是元素的中心。但是有时候我们需要在不同的位置对元素进行这些操作,那么我们就可以使用transform-origin来对元素进行基点位置改变。该属性可以接收三个参数:
transform-origin: x-axis y-axis z-axis;
•x-axis,表示水平方向上的取值,可以取 字符参数值left,center right,也可以取百分比,字符参数值对应的百分值为left=0%;center=50%;right=100%。
•y-axis,表示竖直方向上的取值,还可以设置字符值top,center,bottom,也可以取百分比,字符参数值对应的百分值为top=0%;center=50%;bottom=100%。
•z-axis,表示视图被置于 Z 轴的何处,用于3D变形中。
我们可以设置基点来与之前的transform图形进行对比:
本站声明:
1、本站所有资源均来源于互联网,不保证100%完整、不提供任何技术支持;
2、本站所发布的文章以及附件仅限用于学习和研究目的;不得将用于商业或者非法用途;否则由此产生的法律后果,本站概不负责!
相关内容
- Web泵椔悸矫屄趁宊CSS_脥酶脪鲁脰脝脳梅 - 陆脜卤戮脰庐录脪
- 响应式Web之流式网格系统 _Web标准教程_CSS_网页制作_
- CSS控制DIV层显示和隐藏的实现方法_CSS教程_CSS_网页制作_
- CSS3中的注音对齐属性ruby-align用法指南_css3_CSS_网页制作_
- 解析CSS的box model盒模型及其内的子元素布局控制_CSS教程_CSS_网页制作_
- CSS块级元素与行级元素详解 _CSS教程_CSS_网页制作_
- 超酷炫 CSS3垂直手风琴菜单_css3_CSS_网页制作_
- 提高CSS代码效率的编写技巧_CSS教程_CSS_网页制作_
- IE6和IE7中行内元素后的浮动元素被折行的问题解决_浏览器兼容教程_CSS_网页制作_
- CSS实现文字高光水波渐变的动态效果实例_CSS教程_CSS_网页制作_
点击排行
本栏推荐
