SCSS loader effect
几天来看一组利用SCSS实现的loader effect(载入效果)。鼓舞大家自行动手实现,当然也能够到CodePen在线研究。效果例如以下所看到的。
制作这个案例前,须要准备这些。
1.掌握scss的使用。当然不用也能够,使用scss会比較高效。
2.掌握利用css3的box-shadow、border、border-radius的实现画图。
3.掌握css3的动画方法。
4.一些耐心、一些创意(创意能够让你更好)
5.学会解析案例。先看静态图。
好的言归正传,我们来一步步的实现。
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的更多相关文章
- Loader转换器
一.简介 webpack本身只能处理js模块,Loader可以理解为模块和资源的转换器,它本身是一个函数,接受文件作为参数,返回转换的结果.因此,我们就能通过require来加载任何类型的模块和文件. ...
- 关于webpack编译scss文件
css加载器文件通常和extract-text-webpack-plugin一块使用,我们可以在源文件src目录下写scss文件,然后通过webpack编译成css文件到输出目录public,这个目录 ...
- webpack入门和实战(二):全面理解和运用loader和plugins
您的阅读目录: 一.理解webpack加载器loader 二.理解less-loader加载器的使用 三.理解babel-loader加载器的使用 四.webpack命令行常见使用的操作 五.用web ...
- webpack打包处理html、css、js、img、scss文件
webpack --help 查看webpack命令启动服务 npm run dev (先配置好服务)进入对应文件夹并初始化npmcd demo npm init 安装webpack npm inst ...
- 在项目中使用 SCSS
背景概述 1. CSS预处理器 css预处理器定义了一种新的编程语言,编译后成正常的CSS文件.为CSS增加一些编程的特性,无需考虑浏览器的兼容问题,让CSS更加简洁,适应性更强,可读性更佳,更易于代 ...
- Vue笔记:在项目中使用 SCSS
背景概述 1. CSS预处理器 css预处理器定义了一种新的编程语言,编译后成正常的CSS文件.为CSS增加一些编程的特性,无需考虑浏览器的兼容问题,让CSS更加简洁,适应性更强,可读性更佳,更易于代 ...
- webpack进阶--loader
webpack的核心就是它的配置文件,只要配置好配置文件webpack就可以用得利索-- 而配置文件主要就是7个部分entry.output.plugins.resolve.devserver(web ...
- webpack3.0之loader配置及编写(一)
loader 用于对模块的源代码进行转换.loader 可以使你在 import 或"加载"模块时预处理文件.loader 可以将文件从不同的语言(如 TypeScript)转换为 ...
- vue入门----------scss的配置使用
1.安装相应的依赖 cnpm install sass-loader --save-dev cnpm install node-sass --save-dev 2.在build文件下的webpack. ...
随机推荐
- 锋利的JQuery-Jquery选择器
1.css选择器 标签选择器:a{...} id选择器:#note{...} 类选择器:div.note{..}..dream{...} 群组选择器:td,p,div,a{...} 后代选择器: #l ...
- Windows Embedded Compact 2013升级:VS2013也能编译
IT之家(www.ithome.com):Windows Embedded Compact 2013升级:VS2013也能编译 今天,微软为Windows Embedded Compact 2013送 ...
- sublime text 2 配置文件
安装好 sublime text 2后不进行任何设置,如果允许 sublime text 2 软件的话,会在以下目录自动生成一个 sublime text 2 的文件夹,这个文件夹是用来放配置文件的, ...
- poj 1416 Shredding Company( dfs )
我的dfs真的好虚啊……,又是看的别人的博客做的 题目== 题目:http://poj.org/problem?id=1416 题意:给你两个数n,m;n表示最大数,m则是需要切割的数. 切割m,使得 ...
- Codeforces 374A - Inna and Pink Pony
原题地址:http://codeforces.com/contest/374/problem/A 好久没写题目总结了,最近状态十分不好,无论是写程序还是写作业还是精神面貌……NOIP挂了之后总觉得缺乏 ...
- poj3671
首先容易想到的是LIS,但是n<=30000,所以肯定要优化: 壮哉单调队列又登场了: 然后再找一个最长不上升序列并求两者最大值即可,复杂度O(n logn); 应该说这是解题通法了,但再回头看 ...
- 逻辑回归损失函数(cost function)
逻辑回归模型预估的是样本属于某个分类的概率,其损失函数(Cost Function)可以像线型回归那样,以均方差来表示:也可以用对数.概率等方法.损失函数本质上是衡量”模型预估值“到“实际值”的距离, ...
- CSS3实现jquery的特效
实现 “慕课网” 的图片滑过缩放的效果 技术点:css3—— -webkit-transform:scale(1.2); .course-list-img .img_1:hover{ -webki ...
- HDU 4393 Throw nails
Throw nails Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- Codeforces 629C Famil Door and Brackets DP
题意:给你一个由括号组成的字符串,长度为m,现在希望获得一个长度为n(全由括号组成)的字符串,0<=n-m<=2000 这个长度为n的字符串要求有两个性质:1:就是任意前缀,左括号数量大于 ...