侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

纯DOM+CSS3实现简单的小风车动画

前端  /  管理员 发布于 7年前   222

用CSS3实现了一个小风车的效果,转转转,挺简单。

效果

代码

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE html>  
  2. <html lang="en">  
  3.   
  4. <head>  
  5.     <meta charset="UTF-8">  
  6.     <title>小风车-转啊转</title>  
  7.     <style type="text/css">  
  8.     html {   
  9.         font-size: 10px;   
  10.     }   
  11.   
  12.     html * {   
  13.         -webkit-box-sizing: border-box;   
  14.                 box-sizing: border-box;   
  15.     }   
  16.   
  17.     .windmill {   
  18.         width: 25rem;   
  19.         min-height: 30rem;   
  20.         height: auto;   
  21.         margin: 3rem auto;   
  22.         display: -webkit-box;   
  23.         display: -webkit-flex;   
  24.         display: -ms-flexbox;   
  25.         display: flex;   
  26.         -webkit-box-orient: vertical;   
  27.         -webkit-box-direction: normal;   
  28.         -webkit-flex-direction: column;   
  29.             -ms-flex-direction: column;   
  30.                 flex-direction: column;   
  31.         -webkit-box-pack: start;   
  32.         -webkit-justify-content: flex-start;   
  33.             -ms-flex-pack: start;   
  34.                 justify-content: flex-start;   
  35.         -webkit-box-align: center;   
  36.         -webkit-align-items: center;   
  37.             -ms-flex-align: center;   
  38.                 align-items: center;   
  39.     }   
  40.     /* 头部 */   
  41.   
  42.     .windmill-head {   
  43.         height: 20rem;   
  44.         width: 20rem;   
  45.         display: -webkit-box;   
  46.         display: -webkit-flex;   
  47.         display: -ms-flexbox;   
  48.         display: flex;   
  49.         -webkit-box-orient: horizontal;   
  50.         -webkit-box-direction: normal;   
  51.         -webkit-flex-direction: row;   
  52.             -ms-flex-direction: row;   
  53.                 flex-direction: row;   
  54.         -webkit-flex-wrap: wrap;   
  55.             -ms-flex-wrap: wrap;   
  56.                 flex-wrap: wrap;   
  57.         -webkit-justify-content: space-around;   
  58.             -ms-flex-pack: distribute;   
  59.                 justify-content: space-around;   
  60.         -webkit-align-content: space-around;   
  61.             -ms-flex-line-pack: distribute;   
  62.                 align-content: space-around;   
  63.         -webkit-transform: translateZ(0);   
  64.                 transform: translateZ(0);   
  65.         -webkit-animation: rotate-windmill 1s linear infinite;   
  66.                 animation: rotate-windmill 1s linear infinite;   
  67.         border-radius: 50%;   
  68.         border: 0.1rem solid #DBE526;   
  69.         -webkit-transition: border-radius 2s linear;   
  70.         transition: border-radius 2s linear;   
  71.     }   
  72.     /* 两片叶子的包裹层 */   
  73.   
  74.     .wrapper {   
  75.         display: -webkit-box;   
  76.         display: -webkit-flex;   
  77.         display: -ms-flexbox;   
  78.         display: flex;   
  79.         -webkit-box-orient: vertical;   
  80.         -webkit-box-direction: normal;   
  81.         -webkit-flex-direction: column;   
  82.             -ms-flex-direction: column;   
  83.                 flex-direction: column;   
  84.         -webkit-flex-wrap: wrap;   
  85.             -ms-flex-wrap: wrap;   
  86.                 flex-wrap: wrap;   
  87.         -webkit-box-pack: justify;   
  88.         -webkit-justify-content: space-between;   
  89.             -ms-flex-pack: justify;   
  90.                 justify-content: space-between;   
  91.         height: 135%;   
  92.         width: 50%;   
  93.         -webkit-box-align: center;   
  94.         -webkit-align-items: center;   
  95.             -ms-flex-align: center;   
  96.                 align-items: center;   
  97.     }   
  98.     /* 包裹层对称 */   
  99.   
  100.     .wrapper1 {   
  101.         -webkit-transform: rotate(-45deg) translate(5rem);   
  102.                 transform: rotate(-45deg) translate(5rem);   
  103.         -webkit-transform-origin: right center;   
  104.                 transform-origin: right center;   
  105.     }   
  106.   
  107.     .wrapper2 {   
  108.         -webkit-transform: rotate(45deg) translate(-5rem);   
  109.                 transform: rotate(45deg) translate(-5rem);   
  110.         -webkit-transform-origin: left center;   
  111.                 transform-origin: left center;   
  112.     }   
  113.     /* 扇叶的形状及底色 */   
  114.   
  115.     .leaf {   
  116.         height: 13rem;   
  117.         width: 5rem;   
  118.         border-radius: 5rem/ 5rem 5rem 20rem 20rem;   
  119.         -webkit-box-shadow: 0.1rem 0.1rem 1rem rgba(64, 56, 56, .35) inset, 0.2rem 0.2rem 0.05rem rgba(0, 0, 0, .65);   
  120.                 box-shadow: 0.1rem 0.1rem 1rem rgba(64, 56, 56, .35) inset, 0.2rem 0.2rem 0.05rem rgba(0, 0, 0, .65);   
  121.     }   
  122.   
  123.     .leaf1 {   
  124.         border: 0.05rem solid #D1A23A;   
  125.         -webkit-transform: rotate(0deg) translate(0);   
  126.                 transform: rotate(0deg) translate(0);   
  127.         background-color: rgba(230, 0, 100, 5);   
  128.         background: -webkit-gradient(linear, left top, left bottom, from(#D02CE4), to(#f5f5f5));   
  129.         background: -webkit-linear-gradient(top, #D02CE4, #f5f5f5);   
  130.         background: linear-gradient(180deg, #D02CE4, #f5f5f5);   
  131.         -webkit-transition: background 2s linear;   
  132.         transition: background 2s linear;   
  133.     }   
  134.   
  135.     .leaf2 {   
  136.         border: 0.05rem solid #49D13A;   
  137.         background-color: rgba(230, 0, 150, 5);   
  138.         -webkit-transform: rotate(-180deg) translate(0);   
  139.                 transform: rotate(-180deg) translate(0);   
  140.         background: -webkit-gradient(linear, left top, left bottom, from(#B91717), to(#f5f5f5));   
  141.         background: -webkit-linear-gradient(top, #B91717, #f5f5f5);   
  142.         background: linear-gradient(180deg, #B91717, #f5f5f5);   
  143.         -webkit-transition: background 2s linear 2s;   
  144.         transition: background 2s linear 2s;   
  145.     }   
  146.   
  147.     .leaf3 {   
  148.         border: 0.05rem solid #C6079D;   
  149.         background-color: rgba(130, 0, 100, 5);   
  150.         -webkit-transform: rotate(0deg) translate(0);   
  151.                 transform: rotate(0deg) translate(0);   
  152.         background: -webkit-gradient(linear, left top, left bottom, from(#1CBA9F), to(#f5f5f5));   
  153.         background: -webkit-linear-gradient(top, #1CBA9F, #f5f5f5);   
  154.         background: linear-gradient(180deg, #1CBA9F, #f5f5f5);   
  155.         -webkit-transition: background 2s linear;   
  156.         transition: background 2s linear;   
  157.         -webkit-transition: background 2s linear 4s;   
  158.         transition: background 2s linear 4s;   
  159.     }   
  160.   
  161.     .leaf4 {   
  162.         border: 0.05rem solid #3A5FD1;   
  163.         background-color: rgba(230, 100, 100, 5);   
  164.         -webkit-transform: rotate(-180deg) translate(0);   
  165.                 transform: rotate(-180deg) translate(0);   
  166.         background: -webkit-gradient(linear, left top, left bottom, from(#335642), to(#f5f5f5));   
  167.         background: -webkit-linear-gradient(top, #335642, #f5f5f5);   
  168.         background: linear-gradient(180deg, #335642, #f5f5f5);   
  169.         -webkit-transition: background 2s linear 6s;   
  170.         transition: background 2s linear 6s;   
  171.     }   
  172.     /* 尾部 */   
  173.   
  174.     .windmill-pillar {   
  175.         -webkit-transform: translateZ(0);   
  176.                 transform: translateZ(0);   
  177.         width: 3rem;   
  178.         height: 20rem;   
  179.         background: #FFF;   
  180.         -webkit-transform: translateY(-52%);   
  181.                 transform: translateY(-52%);   
  182.         position: relative;   
  183.         z-index: -2;   
  184.         border-radius: 50% 50% 0 0;   
  185.         -webkit-animation: cd 2s linear infinite;   
  186.                 animation: cd 2s linear infinite;   
  187.     }   
  188.   
  189.     @-webkit-keyframes rotate-windmill {   
  190.         0% {   
  191.             -webkit-transform: rotate(0);   
  192.                     transform: rotate(0);   
  193.         }   
  194.         100% {   
  195.             -webkit-transform: rotate(360deg);   
  196.                     transform: rotate(360deg);   
  197.         }   
  198.     }   
  199.   
  200.     @keyframes rotate-windmill {   
  201.         0% {   
  202.             -webkit-transform: rotate(0);   
  203.                     transform: rotate(0);   
  204.         }   
  205.         100% {   
  206.             -webkit-transform: rotate(360deg);   
  207.                     transform: rotate(360deg);   
  208.         }   
  209.     }   
  210.   
  211.     @-webkit-keyframes cd {   
  212.         0% {   
  213.             background: #F5F5F5;   
  214.         }   
  215.         50% {   
  216.             background: #E1CB82;   
  217.         }   
  218.         75% {   
  219.             background: #F1F358;   
  220.         }   
  221.         100% {   
  222.             background: #FFFC00;   
  223.         }   
  224.     }   
  225.   
  226.     @keyframes cd {   
  227.         0% {   
  228.             background: #F5F5F5;   
  229.         }   
  230.         50% {   
  231.             background: #E1CB82;   
  232.         }   
  233.         75% {   
  234.             background: #F1F358;   
  235.         }   
  236.         100% {   
  237.             background: #FFFC00;   
  238.         }   
  239.     }   
  240.     </style>  
  241. </head>  
  242.   
  243. <body>  
  244.     <div class="windmill">  
  245.         <div class="windmill-head">  
  246.             <div class="wrapper wrapper1">  
  247.                 <div .social-share p{font-size:8px;}

  • 上一条:
    利用CSS3实现毛玻璃效果示例源码
    下一条:
    灵活运用CSS3特性绘制简易版围棋效果
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 使用 Alpine.js 排序插件对元素进行排序(0个评论)
    • 在js中使用jszip + file-saver实现批量下载OSS文件功能示例(0个评论)
    • 在vue中实现父页面按钮显示子组件中的el-dialog效果(0个评论)
    • 使用mock-server实现模拟接口对接流程步骤(0个评论)
    • vue项目打包程序实现把项目打包成一个exe可执行程序(0个评论)
    • 近期文章
    • 在go语言中实现字符串可逆性压缩及解压缩功能(0个评论)
    • 使用go + gin + jwt + qrcode实现网站生成登录二维码在app中扫码登录功能(0个评论)
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-10
    • 2017-11
    • 2018-03
    • 2018-04
    • 2018-05
    • 2018-06
    • 2018-09
    • 2018-11
    • 2018-12
    • 2019-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2021-04
    • 2021-05
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客