先看看效果,像是弹簧在伸缩:
具体代码:
此处用到CSS3的transform属性。
CSS3的变形(transform)属性让元素在一个坐标系统中变形。这个属性包含一系列变形函数,可以移动、旋转和缩放元素。
transform属性可用于内联元素和块元素。其默认值为none,表示不元素不进行变形。transform另一个属性值是一系列的<transform-function>。<transform-function>表示一个或多个变形函数,以空格分开;我们可以同时对一个元素进行变形的多种属性操作,如rotate、scale、translate等。以往我们叠加效果都是用逗号(“,”)隔开,但在transform中使用多个transform-function时却需要有空格隔开。
● 2D transform常用的transform-function的功能:
transform属性3D变形(3D transform)模块的一部分,也就是说所有的2D变形函数也包含于3D变形规范中。如此一来,CSS3变形中的函数根据不同的规范略有不同,下面列出的是变形中的2D和3D常用变形函数的功能,简单说明如下:
translate():用来移动元素,可以根据X轴和Y轴坐标重新定位元素位置。在此基础上有两个扩展函数:translateX()和translateY()。
scale():用来缩小或放大元素,可以使用元素尺寸发生变化。在此基础上有两个扩展函数:scaleX()和scaleY()。 rotate():用来旋转元素。
skew():用来让元素倾斜。在此基础上有两个扩展函数:skewX()和skewY()。
matrix():定义矩阵变形,基于X轴和Y轴坐标重新定位元素位置。
● 3D transform常用的transform-function的功能:
translate3d():移元素元素,用来指定一个3D变形移动位移量。
translate():指定3D位移在Z轴的位移量。
scale3d():用来缩放一个元素。
scaleZ():指定Z轴的缩放向量。
rotate3d():指定元素具有一个三维旋转的角度。
rotateX()、rotateY()和rotateZ():让元素具有一个旋转角度。
perspective():指定一个透视投影矩阵。
matrix3d():定义矩阵变形。
● transform-origin属性用来设置变换的原点。示例中代表旋转中心。
- #loader2,
- #loader2:before,
- #loader2:after {
- border-radius: 50%;
- }
- #loader2:before,
- #loader2:after {
- position: absolute;
- content: '';
- }
- #loader2:before {
- width: 5.2em;
- height: 10.2em;
- background: #ffffff;
- border-radius: 10.2em 0 0 10.2em;
- top: -0.1em;
- left: -0.1em;
- -webkit-transform-origin: 5.2em 5.1em;
- transform-origin: 5.2em 5.1em;
- -webkit-animation: load2 2s infinite ease 1.5s;
- animation: load2 2s infinite ease 1.5s;
- }
- #loader2 {
- font-size: 11px;
- text-indent: -99999em;
- margin: 20px 20px;
- position: relative;
- float: left;
- width: 10em;
- height: 10em;
- box-shadow: inset 0 0 0 1em #ff0f88;
- }
- #loader2:after {
- width: 5.2em;
- height: 10.2em;
- background: #ffffff;
- border-radius: 0 10.2em 10.2em 0;
- top: -0.1em;
- left: 5.1em;
- -webkit-transform-origin: 0px 5.1em;
- transform-origin: 0px 5.1em;
- -webkit-animation: load2 2s infinite ease;
- animation: load2 2s infinite ease;
- }
- @-webkit-keyframes load2 {
- 0% {
- -webkit-transform: rotate(0deg);
- transform: rotate(0deg);
- }
- 100% {
- -webkit-transform: rotate(360deg);
- transform: rotate(360deg);
- }
- }
- @keyframes load2 {
- 0% {
- -webkit-transform: rotate(0deg);
- transform: rotate(0deg);
- }
- 100% {
- -webkit-transform: rotate(360deg);
- transform: rotate(360deg);
- }
- }
以上就是本文的全部内容,希望对大家学习CSS加载动画教程有所帮助。
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。