Transform-origin原生CSS实现类似风筝效果的上下运动
今天给大家分享一个我在之前工作中遇到的小技巧,是受到营销需求的启发。
关于改造-origin属性,可以说原则上在工作中是没有必要使用的,但是这个属性还是很好的能够达到某些特定的效果。
什么是转型-origin
MDN 中的解释是:transform-origin
CSS 属性允许您更改元素转换的起源。
属性:
x-offset
定义畸变中心距盒模型左侧的或偏移值。
offset关键字
左、右、上、下或中心之一定义了畸变中心的相应偏移。
y-offse t
定义变形中心距盒模型顶部的或偏移值。
x-offset-关键字
左、右或中心之一定义了畸变中心的相应偏移。
y-offset-关键字
顶部、底部或中心之一定义了畸变中心的相应偏移。
z-offse t
定义畸变中心距用户视线(z=0)的(不能为)偏移值。
利用动画实现
效果如下:
0% {
变换:rotateZ(-5deg);
-o-transform:rotateZ(-5deg);
-ms-transform:rotateZ(-5deg);
-moz 变换:旋转 Z(-5 度);
-webkit 变换:旋转 Z(-5 度);
}
50% {
变换:rotateZ(4deg);
-o-变换:rotateZ(4deg);
-ms-变换:rotateZ(4deg);
-moz-变换: rotateZ(4deg);
-webkit-transform:rotateZ(4deg);
}
100% {
变换:rotateZ(-5deg);
-o-变换:rotateZ(-5deg);
-ms-变换:rotateZ(-5deg);
-moz -transform:rotateZ(-5deg);
-webkit-transform:rotateZ(-5deg);
}
}
.wave-btn{宽度:177px;
高度:87px
;display:block;
background:url('https://codeqd.com/zb_users/upload/2023/09/2019061823571646.png无重复中心center;
transform -origin:左上角;
动画:波 1.5 秒线性 0 秒交替无穷大;
-moz-动画:波 1.5 秒线性 0 秒交替无穷大;
-webkit 动画:波 1.5 秒线性 0 秒交替无穷大;
-o-动画:波 1.5 秒线性 0 秒交替无穷大;
-ms-动画:波 1.5 秒线性 0 秒交替无穷大;}
@keyframes 波 { 0% { 变换:rotateZ(-5deg) ); -o-变换:rotateZ(-5deg); -ms-变换:rotateZ(-5deg); -moz-变换:rotateZ(-5deg); -webkit-transform:旋转Z(-5度); } 50% { 变换:rotateZ(4deg); -o-变换:rotateZ(4deg); -ms-变换:rotateZ(4deg); -moz-变换:rotateZ(4deg); -webkit- 变换:rotateZ(4deg); } 100% { 变换:rotateZ(-5deg); -o-变换:rotateZ(-5deg); -ms-变换:rotateZ(-5deg); -moz-变换:rotateZ(-5deg); -webkit-transform:rotateZ(-5deg); }}
具体样式如下:
width:177px; 高度:87 像素 ;显示:块; background:url('https://codeqd.com/zb_users/upload/2023/09/2019061823571646.png 居中,无重复居中 改造-origin:左上; 动画:波1.5s线性0s交替无限; -moz-animation:波1.5s线性0s交替无限; -webkit动画:波1.5s线性0s交替无限; -o-动画:波1.5s线性0s交替无限; -ms-animation:波1.5s线性0s交替无限;
以上就是实现CSS实现风筝效果的全部代码。希望对有需要的朋友有所帮助。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。