容易混淆的css属性:css
属性 | 含义 |
---|---|
animation(动画) | 用于设置动画属性,他是一个简写的属性,包含6个属性 |
transition(过渡) | 用于设置元素的样式过渡,和animation有着相似的效果,但细节上有很大的不一样 |
transform(变形) | 用于元素进行旋转、缩放、移动或倾斜,和设置样式的动画并无什么关系,就至关于color同样用来设置元素的“外表” |
translate(移动) | translate只是transform的一个属性值,即移动。 |
语法:animation: name duration timing-function delay iteration-count direction;
html
div { width: 100px; height: 100px; background: #1199ff; position: relative; animation: mymove 5s infinite; -webkit-animation: mymove 5s infinite; } @keyframes mymove { from { left: 0px; } to { left: 200px; } } @-webkit-keyframes mymove { from { left: 0px; } to { left: 200px; } }
语法:transition: property duration timing-function delay;
web
div { width: 100px; height: 100px; background: #ee1166; transition: width 2s; -moz-transition: width 2s; /* Firefox 4 */ -webkit-transition: width 2s; /* Safari and Chrome */ -o-transition: width 2s; /* Opera */ } div:hover { width: 300px; }
语法:transform: none|transform-functions;
functions提供多种方法,如:skewX(angle)沿着 X 轴的 2D 倾斜转换,translate3d(x,y,z)3D 转换,rotate(angle)2D 旋转,在参数中规定角度等等动画
/**css*/ ul { margin: 20px 0 0 20px; padding: 0; list-style: none; } li { float: left; width: 100px; text-align: center; height: 30px; line-height: 30px; margin-right: 4px; background: #ee1166; -webkit-transform: skewX(30deg); } a { text-decoration: none; -webkit-transform: skewX(-30deg); display: block; color: #fff; } li:hover{ background: #008cf4; } /**html*/ <ul> <li><a href="#">Javan的博客</a></li> <li><a href="#">今日头条</a></li> <li><a href="#">慕课网</a></li> <li><a href="#">开源中国</a></li> </ul>
translate
实际上是 transform
的一种属性值,进去2D或者3D移动spa