SCSS loader effect

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); } }
}

----------------------------------------------------------

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

时间: 2024-09-29 01:55:33

SCSS loader effect的相关文章

9.1-9.30推荐文章汇总

9.1-9.30推荐文章汇总 [移动开发] Android 自己定义ScrollView ListView 体验各种纵向滑动的需求        鸿洋_ [Unity3D]Unity3D游戏开发之Xml解析实现NPC对话系统        秦元培 Android Touch事件分发过程        Mr-Simp1e Android View 事件分发机制 源代码解析 (上)        鸿洋_ [Unity3D]Unity3D游戏开发之自己主动寻路与Mecanim动画系统的结合      

Loader转换器

一.简介 webpack本身只能处理js模块,Loader可以理解为模块和资源的转换器,它本身是一个函数,接受文件作为参数,返回转换的结果.因此,我们就能通过require来加载任何类型的模块和文件. 特点: (1)Loader可以通过管道方式链式调用,每个loader可以自愿转换为任意格式传递给下一个loader,但最后一个loader必须返回js: (2)同步或异步执行: (3)运行与node.js环境中 (4)可以通过npm进行安装 (5)可以接受参数,以此来传递配置项给loader: (

关于webpack编译scss文件

css加载器文件通常和extract-text-webpack-plugin一块使用,我们可以在源文件src目录下写scss文件,然后通过webpack编译成css文件到输出目录public,这个目录就是我们网站需要引用的目录. 1 var webpack = require('webpack'); 2 var HtmlWebpackPlugin = require('html-webpack-plugin'); 3 var ExtractTextWebpackPlugin = require(

webpack入门和实战(二):全面理解和运用loader和plugins

您的阅读目录: 一.理解webpack加载器loader 二.理解less-loader加载器的使用 三.理解babel-loader加载器的使用 四.webpak命令行常见使用的操作 五.用webpack内置组件UglifyJsPlugin来压缩js和css 六.html-webpack-plugin(生成自定义html页面) 七.extract-text-webpack-plugin(独立打包样式文件) 八.webpack打包多个资源文件 九.webpack对图片的打包 回到顶部 一.理解w

webpack进阶之loader篇

webpack的loaders是一大特色,也是很重要的一部分.这遍博客我将分类讲解一些常用的laoder 一.loaders之 预处理 css-loader 处理css中路径引用等问题 style-loader 动态把样式写入css sass-loader scss编译器 less-loader less编译器 postcss-loader scss再处理 npm install --save -dev css-loader style-loader sass-loader less-loade

在vue中使用scss

在webpack中,所有预处理器都要匹配相应的loader,vue-loader允许其他的webpack-loader处理组件中的一部分吗,然后它根据lang属性自动判断出要使用的loaders.所以,其实只要安装处理sass/scss的loader.就能在vue中使用scss了.现在我们来安装sass/scss loader npm install sass-loader node-sass --save-dev 参考: https://segmentfault.com/a/119000000

scss文件报错处理 (报错信息Invalid CSS after &quot;v&quot;: expected 1 selector or at-rule, was &#39;var api = require)

error in ./src/assets/styles/app.scss Module build failed: @import "./reset.scss"; ^ Invalid CSS after "v": expected 1 selector or at-rule, was 'var api = require("' in /Users/aa/demo/new/src/assets/styles/app.scss (line 1, column

前端Node项目发布流程

最近在做前端的发布流程,发布流程的主要实现以下几个方面: 构建:包括JavaScript.css.html等的压缩,以及版本控制,利用md5生成版本号替换文件引用,实现长缓存策略. 发布:输出新版本的代码,切换系统到新版本 回滚:如果系统有问题,可以切换到原有版本 构建 整个流程由gulp控制,webpack主要处理模块化管理方面的处理,包括基于CommonJs模块规范的包管理,基于SCSS的模块化. 利用Webpack实现JavaScript打包压缩.SCSS编译.CSS文件抽取. 利用gul

webpack 学习

我的 webpack.config.js module.exports = { entry: [ './src/js/app.js', './src/js/my.js' ], output: { path: __dirname + '/output/', publicPath: "/output/", filename: 'main.js' }, module: { loaders: [ {test: /\.(jpg|png)$/, loader: "url?limit=81