博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端每日实战:46# 视频演示如何用纯 CSS 创作一个在容器中反弹的小球
阅读量:6452 次
发布时间:2019-06-23

本文共 1252 字,大约阅读时间需要 4 分钟。

图片描述

效果预览

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

可交互视频教程

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

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

源代码下载

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

代码解读

定义 dom,只有一个元素:

居中显示:

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

定义容器的尺寸:

.loader {    width: 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;    width: 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);    }}

大功告成!

转载地址:http://bmgwo.baihongyu.com/

你可能感兴趣的文章
STM32硬件调试详解
查看>>
js判断是否在微信浏览器中打开
查看>>
正則表達式匹配换行符
查看>>
没有找到MSVCR100.dll解决方法
查看>>
统计搜索引擎的每小时抓取量及首页抓取量(第一版)
查看>>
[LeetCode] Surrounded Regions 包围区域
查看>>
查看nginx的版本
查看>>
php:的图形计算器的面向对象的版本武器2
查看>>
hdu 5463 Clarke and minecraft(贪心)
查看>>
操作系统学习笔记_10_文档管理 --文件系统
查看>>
Bootstrap table
查看>>
MySQL----数据的显示位宽
查看>>
PHP中的命名空间(namespace)及其使用详解
查看>>
SQL Server中的事务日志管理(5/9):完整恢复模式里的日志管理
查看>>
java从0开始学——数组,一维和多维
查看>>
reload基础
查看>>
python--执行文件的绝对路径
查看>>
linux gcc 编译时头文件和库文件搜索路径
查看>>
Java通过httpclient获取cookie模拟登录
查看>>
matlab学习笔记 bsxfun函数
查看>>