zoukankan      html  css  js  c++  java
  • 用纯 CSS 创作一个在容器中反弹的小球

    效果预览

    在线演示

    按下右侧的“点击预览”按钮可以在当前页面预览,点击链接可以全屏预览。

    https://codepen.io/comehope/pen/jKVbyE

    可交互视频教程

    此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。

    请用 chrome, safari, edge 打开观看。

    https://scrimba.com/p/pEgDAM/cD8nMUr

    源代码下载

    本地下载

    每日前端实战系列的全部源代码请从 github 下载:

    https://github.com/comehope/front-end-daily-challenges

    代码解读

    定义 dom,只有一个元素:

    <div class="loader"></div>
    

    居中显示:

    body {
        margin: 0;
        height: 100vh;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: black;
    }
    

    定义容器的尺寸:

    .loader {
         10em;
        height: 3em;
        border: 0.3em solid silver;
        border-radius: 3em;
        font-size: 20px;
    }
    

    把容器左右两侧分别涂上不同的颜色:

    .loader {
        border-left-color: hotpink;
        border-right-color: dodgerblue;
    }
    

    在容器中画一个小球:

    .loader {
        position: relative;
    }
    
    .loader::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
         3em;
        height: 3em;
        border-radius: 50%;
        background-color: dodgerblue;
    }
    

    让小球在容器中往复移动:

    .loader::before {
        animation: shift 3s linear infinite;
    }
    
    @keyframes shift {
        50% {
            left: 7em;
        }
    }
    

    再让小球在撞到两端时变色:

    .loader::before {
        animation:
            shift 3s linear infinite,
            change-color 3s linear infinite;
    }
    
    @keyframes change-color {
        0%, 55% {
            background-color: dodgerblue;
        }
    
        5%, 50% {
            background-color: hotpink;
        }
    }
    

    最后,让容器不停地旋转:

    .loader {
        animation: spin 3s linear infinite;
    }
    
    @keyframes spin {
        to {
            transform: rotate(360deg);
        }
    }
    

    大功告成!

    原文地址:https://segmentfault.com/a/1190000015221260
  • 相关阅读:
    Oracle 创建表并设置主键自增
    Oracle 基本知识回顾
    关于JAVAweb的一些东西
    JAVA获取运行环境的信息
    关于正则表达式的一些东西
    关于jQuery的一些东西
    关于JS的一些东西
    thymeleaf 的使用
    小程序flex容器
    Vue组件化
  • 原文地址:https://www.cnblogs.com/datiangou/p/10007375.html
Copyright © 2011-2022 走看看