SCSS loader effect

时间:2022-09-06 08:04:18
p{text-indent:2em;}前端开发whqet,csdn,王海庆,whqet,前端开发专家

几天来看一组利用SCSS实现的loader effect(载入效果)。鼓舞大家自行动手实现,当然也能够到CodePen在线研究。效果例如以下所看到的。

SCSS loader effect

制作这个案例前,须要准备这些。

1.掌握scss的使用。当然不用也能够,使用scss会比較高效。

2.掌握利用css3的box-shadow、border、border-radius的实现画图。

3.掌握css3的动画方法。

4.一些耐心、一些创意(创意能够让你更好)

5.学会解析案例。先看静态图。

SCSS loader effect

好的言归正传,我们来一步步的实现。

html部分例如以下,我们这里把全部的loader放到一个容器里面去,然后给每一个loader两个类,一个类loader作统一设置,还有一个类作个性化设置。

<div id='loaders'>
<div class='loader ball'></div>
<div class='loader spin'></div>
<div class='loader single'></div>
<div class='loader double'></div>
<div class='loader triple'></div>
<div class='loader dots'></div>
</div>

接下来就是css了。我们这里使用scss来简化css的书写。

/*
* CSS重置。这里使用CSSReset,篇幅限制不再列出。另外使用prefix-free所以能够不考虑浏览器前缀
* */
*, *:before, *:after { box-sizing: border-box; } /*
* loader颜色取随机色
* */
$color: hsl(random(360),75%,50%); $speed: 500ms; /*
* 总体设置
* 网页背景色、loaders居中显示
* loader的宽、高、圆角、动画
* */
body { background: #111; }
#loaders {
position: fixed;
top: 0; left: 0; right: 0; bottom: 0;
width: 100vw; height: 50px;
margin: auto;
display: flex;
flex-flow: row nowrap;
justify-content: space-around;
.loader {
position: relative;
width: 50px; height: 50px;
border-radius: 100%;
border-style: solid;
animation: loader $speed linear infinite;
/*
* 转动眼睛的设计,利用box-shadow的inset方法
* */
&.ball { box-shadow: inset 5px 5px 0 10px $color; }
/*
* 转环的设计,box-shadow配合border-width
* */
&.spin {
border-width: 1px 1px 2px;
border-color: $color;
box-shadow: 0 1px $color;
}
/*
* 单线的设计,border-width、border transparent
* */
&.single {
border-width: 1px;
border-color: $color transparent transparent;
}
/*
* 双线的设计。border-width、border transparent
* */
&.double {
border-width: 1px;
border-color: $color transparent;
}
/*
* 三线的设计,border-width、border transparent
* */
&.triple {
border-width: 1px;
border-color: $color;
border-top-color: transparent;
}
/*
* 环点的设计。box-shadow和before、after伪对象
* */
&.dots {
animation-timing-function: steps(8);
&:before,
&:after {
content: '';
position: absolute;
width: 10px; height: 10px;
margin: auto;
border-radius: 100%;
background: $color;
}
&:before {
top: 0; left: 0; right: 0;
box-shadow: 20px 20px rgba($color,.8), 14px 6px rgba($color,.9), 14px 34px rgba($color,.7);
}
&:after {
left: 0; right: 0; bottom: 0;
background: rgba($color,.6);
box-shadow: -20px -20px rgba($color,.4), -14px -6px rgba($color,.5), -14px -34px rgba($color,.3);
}
}
}
}
/*
* 旋转动画
* */
@keyframes loader {
to { transform: rotate(360deg); } }
}

-------------只是瘾。再加一个--------------------

<div id='loaders'>
<div class='loader doubleCircle'></div>
</div>
$colorr: hsl(180+random(180),85%,50%);
@keyframes loaderr { from { transform: rotate(1800deg); } }
&.doubleCircle {
border-width:2px;
border-color:$color transparent;
&:before {
content:"";
position: absolute;
width:56px;
height:56px;
top:-5px;
left:-5px;
border-radius:100%;
border-style:solid;
border-width:3px;
border-color:transparent $colorr;
animation: loaderr $speed*3 linear infinite;
}
}

前端开发whqet。关注web前端开发,分享相关资源,欢迎点赞,欢迎拍砖。
---------------------------------------------------------------------------------------------------------

SCSS loader effect的更多相关文章

  1. Loader转换器

    一.简介 webpack本身只能处理js模块,Loader可以理解为模块和资源的转换器,它本身是一个函数,接受文件作为参数,返回转换的结果.因此,我们就能通过require来加载任何类型的模块和文件. ...

  2. 关于webpack编译scss文件

    css加载器文件通常和extract-text-webpack-plugin一块使用,我们可以在源文件src目录下写scss文件,然后通过webpack编译成css文件到输出目录public,这个目录 ...

  3. webpack入门和实战&lpar;二&rpar;:全面理解和运用loader和plugins

    您的阅读目录: 一.理解webpack加载器loader 二.理解less-loader加载器的使用 三.理解babel-loader加载器的使用 四.webpack命令行常见使用的操作 五.用web ...

  4. webpack打包处理html、css、js、img、scss文件

    webpack --help 查看webpack命令启动服务 npm run dev (先配置好服务)进入对应文件夹并初始化npmcd demo npm init 安装webpack npm inst ...

  5. 在项目中使用 SCSS

    背景概述 1. CSS预处理器 css预处理器定义了一种新的编程语言,编译后成正常的CSS文件.为CSS增加一些编程的特性,无需考虑浏览器的兼容问题,让CSS更加简洁,适应性更强,可读性更佳,更易于代 ...

  6. Vue笔记:在项目中使用 SCSS

    背景概述 1. CSS预处理器 css预处理器定义了一种新的编程语言,编译后成正常的CSS文件.为CSS增加一些编程的特性,无需考虑浏览器的兼容问题,让CSS更加简洁,适应性更强,可读性更佳,更易于代 ...

  7. webpack进阶--loader

    webpack的核心就是它的配置文件,只要配置好配置文件webpack就可以用得利索-- 而配置文件主要就是7个部分entry.output.plugins.resolve.devserver(web ...

  8. webpack3&period;0之loader配置及编写&lpar;一&rpar;

    loader 用于对模块的源代码进行转换.loader 可以使你在 import 或"加载"模块时预处理文件.loader 可以将文件从不同的语言(如 TypeScript)转换为 ...

  9. vue入门----------scss的配置使用

    1.安装相应的依赖 cnpm install sass-loader --save-dev cnpm install node-sass --save-dev 2.在build文件下的webpack. ...

随机推荐

  1. python爬取返利网中值得买中的数据

    先使用以前的方法将返利网的数据爬取下来,scrapy框架还不熟练,明日再战scrapy 查找目标数据使用的是beautifulsoup模块. 1.观察网页,寻找规律 打开值得买这块内容 1>分析 ...

  2. php防止外链导出的代码

    先收藏起来再说! URL跳转代码 1.代码: <? $url=$_GET["url"];header("Location:"."http://& ...

  3. iOS 页面显示在键盘之上

    美丽又可爱的UED妹子文晓的给我提了一个问题,就是在键盘升起的时候,添加的加载页面(loading)被键盘挡住了. 看到问题之后我就想到了问题的所在,因为以前我可敬可爱的领导给我们科普过,说UIAla ...

  4. array&lowbar;sum函数 number array&lowbar;sum

    数组的概念 数组就是一个用来存储一系列变量值的命名区域,每个数组元素有一个相关的索引,也成为关键字,它可以用来访问元素. PHP允许间隔性地使用数字或字符串作为数组的索引. 2.数字索引数组 2.1 ...

  5. linux安装iscsi target,make时出错,解决方法

    安装主要是按照这个网址的步骤来的:http://ixdba.blog.51cto.com/2895551/526452 执行到make步骤时,出错: root@host:~/iscsitarget-1 ...

  6. 可以在手机上看电脑本地html步骤,我自己总结的哦!

    1.打开控制面板 2.打开程序和功能 3.打开或关闭功能 4.internet信息服务展开后里面所有的都要选中 5.回到桌面,然后右键计算机,选择'管理' 6.先在E盘或者D盘创建一个文件夹,自己随意 ...

  7. su和sudo的区别

    首先来说一下su 然后是sudo

  8. json2mysql

    import json import psycopg2 import sys conn = psycopg2.connect(dbname='dev', host='127.0.0.1', port= ...

  9. Quartz&period;Net进阶之七:QuartzNet其他的功能简述

    一.介绍 今天是这个系列的最后一篇文章了,主要功能说的差不多了,我们来看看其他相关的内容.话说回来,虽然是这个系列的最后一篇文章,并不代表Quartz的东西就这么点,学习阶段,就这些了,如果以后有了使 ...

  10. 常见的hbase jar