p{text-indent:2em;}前端开发whqet,csdn,王海庆,whqet,前端开发专家

几天来看一组利用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的更多相关文章

  1. Loader转换器

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

  2. 关于webpack编译scss文件

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

  3. webpack入门和实战(二):全面理解和运用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.0之loader配置及编写(一)

    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. [POJ 3370] Halloween treats

    Halloween treats Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 7143   Accepted: 2641 ...

  2. asp.net SqlParameter关于Like的传参数无效问题

    按常规的思路,我们会这样写 复制代码代码如下: String searchName ="Sam"; String strSql = "select * FROM Tabl ...

  3. CSS预处理器Sass(Scss)、Less、Stylus

    CSS 预处理编译器能让我成程序化其的方式编写CSS代码,可以引入CSS中没有的变量.条件.函数等特性,从而让代码更简单易维护,但一般按预处理器语法编写的代码无法直接在浏览器中运行,需用通过工具比如g ...

  4. Python脚本控制的WebDriver 常用操作 <二十四> 定位frame中的元素

    测试用例场景 处理frame需要用到2个方法,分别是switch_to_frame(name_or_id_or_frame_element)和switch_to_default_content() 如 ...

  5. 【原创】LoadRunner Java Vuser脚本的配置和调试指南

    1 编写目的 本文介绍了Loadrunner多负载压力机的配置,并通过测试Java Vuser的数据库连接脚本对配置结果进行了验证,同时对配置过程中遇到的问题和解决的过程进行了记录,关于Java数据库 ...

  6. Velocity是如何工作的

    当在一个应用程序或者servlet中使用Velocity的时候,你要做如下几个工作: 初始化Velocity.Velocity提供2种使用形式,不管是单一实例模式还是单独运行实例模式,初始化过程都只做 ...

  7. WebKit 内核浏览器 initKeyboardEvent 函数原型

    学习JS发送自定义键盘(KeyboardEvent)事件的过程中,遇到了一个小难题:单个按键Tab可以正常发送,焦点能够转移到下一个元素,但想实现Shift+Tab,反向移动焦点时,却被DOM3的浏览 ...

  8. Base-Android快速开发框架(二)--数据存储之SharedPreferences

    对于App开发者,抽象来说,其实就是将数据以各种各样的方式展示在用户面前以及采集用户的数据.采集用户的数据包括用户的输入.触摸.传感器等,展示的数据通过网络来源于各业务系统,以及用户的 输入数据.在这 ...

  9. [原]AngularJS iframe打开不同域的内容时报错误

    <iframe id="myFrame" ng-src="{{url}}" width="100%" height="100 ...

  10. 简易博客编辑器:玩转document.execCommand命令

    xhEditor是基于jQuery开发的跨平台轻量可视化XHTML编辑器,基于LGPL开源协议发布.今天就把它山寨一下. 上几张图,看看效果: 先做出菜单部分:发现是一张背景图片,所以用图片映射的方法 ...