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作统一设置,还有一个类作个性化设置。

  1. <div id='loaders'>
  2. <div class='loader ball'></div>
  3. <div class='loader spin'></div>
  4. <div class='loader single'></div>
  5. <div class='loader double'></div>
  6. <div class='loader triple'></div>
  7. <div class='loader dots'></div>
  8. </div>

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

  1. /*
  2. * CSS重置。这里使用CSSReset,篇幅限制不再列出。另外使用prefix-free所以能够不考虑浏览器前缀
  3. * */
  4. *, *:before, *:after { box-sizing: border-box; }
  5.  
  6. /*
  7. * loader颜色取随机色
  8. * */
  9. $color: hsl(random(360),75%,50%); $speed: 500ms;
  10.  
  11. /*
  12. * 总体设置
  13. * 网页背景色、loaders居中显示
  14. * loader的宽、高、圆角、动画
  15. * */
  16. body { background: #111; }
  17. #loaders {
  18. position: fixed;
  19. top: 0; left: 0; right: 0; bottom: 0;
  20. width: 100vw; height: 50px;
  21. margin: auto;
  22. display: flex;
  23. flex-flow: row nowrap;
  24. justify-content: space-around;
  25. .loader {
  26. position: relative;
  27. width: 50px; height: 50px;
  28. border-radius: 100%;
  29. border-style: solid;
  30. animation: loader $speed linear infinite;
  31. /*
  32. * 转动眼睛的设计,利用box-shadow的inset方法
  33. * */
  34. &.ball { box-shadow: inset 5px 5px 0 10px $color; }
  35. /*
  36. * 转环的设计,box-shadow配合border-width
  37. * */
  38. &.spin {
  39. border-width: 1px 1px 2px;
  40. border-color: $color;
  41. box-shadow: 0 1px $color;
  42. }
  43. /*
  44. * 单线的设计,border-width、border transparent
  45. * */
  46. &.single {
  47. border-width: 1px;
  48. border-color: $color transparent transparent;
  49. }
  50. /*
  51. * 双线的设计。border-width、border transparent
  52. * */
  53. &.double {
  54. border-width: 1px;
  55. border-color: $color transparent;
  56. }
  57. /*
  58. * 三线的设计,border-width、border transparent
  59. * */
  60. &.triple {
  61. border-width: 1px;
  62. border-color: $color;
  63. border-top-color: transparent;
  64. }
  65. /*
  66. * 环点的设计。box-shadow和before、after伪对象
  67. * */
  68. &.dots {
  69. animation-timing-function: steps(8);
  70. &:before,
  71. &:after {
  72. content: '';
  73. position: absolute;
  74. width: 10px; height: 10px;
  75. margin: auto;
  76. border-radius: 100%;
  77. background: $color;
  78. }
  79. &:before {
  80. top: 0; left: 0; right: 0;
  81. box-shadow: 20px 20px rgba($color,.8), 14px 6px rgba($color,.9), 14px 34px rgba($color,.7);
  82. }
  83. &:after {
  84. left: 0; right: 0; bottom: 0;
  85. background: rgba($color,.6);
  86. box-shadow: -20px -20px rgba($color,.4), -14px -6px rgba($color,.5), -14px -34px rgba($color,.3);
  87. }
  88. }
  89. }
  90. }
  91. /*
  92. * 旋转动画
  93. * */
  94. @keyframes loader {
  95. to { transform: rotate(360deg); } }
  96. }

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

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

前端开发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. 锋利的JQuery-Jquery选择器

    1.css选择器 标签选择器:a{...} id选择器:#note{...} 类选择器:div.note{..}..dream{...} 群组选择器:td,p,div,a{...} 后代选择器: #l ...

  2. Windows Embedded Compact 2013升级:VS2013也能编译

    IT之家(www.ithome.com):Windows Embedded Compact 2013升级:VS2013也能编译 今天,微软为Windows Embedded Compact 2013送 ...

  3. sublime text 2 配置文件

    安装好 sublime text 2后不进行任何设置,如果允许 sublime text 2 软件的话,会在以下目录自动生成一个 sublime text 2 的文件夹,这个文件夹是用来放配置文件的, ...

  4. poj 1416 Shredding Company( dfs )

    我的dfs真的好虚啊……,又是看的别人的博客做的 题目== 题目:http://poj.org/problem?id=1416 题意:给你两个数n,m;n表示最大数,m则是需要切割的数. 切割m,使得 ...

  5. Codeforces 374A - Inna and Pink Pony

    原题地址:http://codeforces.com/contest/374/problem/A 好久没写题目总结了,最近状态十分不好,无论是写程序还是写作业还是精神面貌……NOIP挂了之后总觉得缺乏 ...

  6. poj3671

    首先容易想到的是LIS,但是n<=30000,所以肯定要优化: 壮哉单调队列又登场了: 然后再找一个最长不上升序列并求两者最大值即可,复杂度O(n logn); 应该说这是解题通法了,但再回头看 ...

  7. 逻辑回归损失函数(cost function)

    逻辑回归模型预估的是样本属于某个分类的概率,其损失函数(Cost Function)可以像线型回归那样,以均方差来表示:也可以用对数.概率等方法.损失函数本质上是衡量”模型预估值“到“实际值”的距离, ...

  8. CSS3实现jquery的特效

    实现 “慕课网” 的图片滑过缩放的效果 技术点:css3——   -webkit-transform:scale(1.2); .course-list-img .img_1:hover{ -webki ...

  9. HDU 4393 Throw nails

    Throw nails Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  10. Codeforces 629C Famil Door and Brackets DP

    题意:给你一个由括号组成的字符串,长度为m,现在希望获得一个长度为n(全由括号组成)的字符串,0<=n-m<=2000 这个长度为n的字符串要求有两个性质:1:就是任意前缀,左括号数量大于 ...