文章目录

  • Scss、elementUI引入、transition动画 - 学习笔记
    • Sass 是什么?
    • elementUI
    • transition动画

Scss、elementUI引入、transition动画 - 学习笔记

Sass 是什么?

官网:https://www.sass.hk/guide/
Sass是成熟、稳定、强大的CSS预处理器,而SCSS是Sass3版本当中引入的新语法特性,完全兼容CSS3的同时继承了Sass强大的动态功能。

特性概览
CSS书写代码规模较大的Web应用时,容易造成选择器、层叠的复杂度过高,因此推荐通过SASS预处理器进行CSS的开发,SASS提供的变量、嵌套、混合、继承等特性,让CSS的书写更加有趣与程式化。

Scss 与 Sass的区别
Sass 和 Scss 其实就是同一种东西,我们平时都称之为 Sass,两者之间不同之处主要有以下两点:
1、文件扩展名不同,Sass 是以“.sass”后缀为扩展名,而 Scss 是以“.scss”后缀为扩展名。
2、语法书写方式不同,Sass 是以严格的缩进式语法规则来书写,不带大括号({})和分号;,而 Scss 的语法书写和我们的CSS 语法书写方式非常类似。
安装

npm install node-sass -save-dev
npm install sass-loader@^7.3.1 --save-dev
npm install style-loader --save-dev


–save -dev区别
–save:将保存配置信息到pacjage.json的dependencies节点中。

–save-dev:将保存配置信息到pacjage.json的devDependencies节点中。

dependencies:运行时的依赖,发布后,即生产环境下还需要用的模块

devDependencies:开发时的依赖。里面的模块是开发时用的,发布时用不到它。

变量声明

$highlight-color: #F90;
$lightColor: #ffffff;
$darkColor: #000000;
$redColor : #f00;
$blue-color: blue;

变量引用:

border:1px solid $darkColor;

嵌套CSS 规则
css中重复写选择器是非常恼人的。如果要写一大串指向页面中同一块的样式时,往往需要 一遍又一遍地写同一个ID:

#content article h1 { color: #333 }
#content article p { margin-bottom: 1.4em }
#content aside { background-color: #EEE }

像这种情况,sass可以让你只写一遍,且使样式可读性更高。sass在输出css时会帮你把这些嵌套规则处理好,避免你的重复书写。

#content {article {h1 { color: #333 }p { margin-bottom: 1.4em }}aside { background-color: #EEE }
}

父选择器的标识符&

article a { color: blue }
article a:hover { color: red }article a {color: blue;&:hover { color: red }
}

群组选择器的嵌套

.container h1, .container h2, .container h3{ margin-bottom: .8em }.container {h1, h2, h3 {margin-bottom: .8em}
}

子组合选择器和同层组合选择器:>、+和~
选择器> 选择一个元素的直接子元素。

article section { margin: 5px }
article > section { border: 1px solid #ccc }

同层相邻组合选择器+选择header元素后紧跟的p元素

header + p { font-size: 1.1em }

同层全体组合选择器~,选择所有跟在article后的同层article元素,不管它们之间隔了多少其他元素:

article ~ article { border-top: 1px dashed #ccc }
.div1 {color:$blue-color;.div2 {border:1px solid $darkColor;.div3{font-size:14px;color:lighten($darkColor,70%);&>a {color:lighten($darkColor,70%);}}}
}
article {~ article { border-top: 1px dashed #ccc }> section { background: #eee }dl > {dt { color: #333 }dd { color: #555 }}nav + & { margin-top: 0 }
}

嵌套属性

nav {border-style: solid;border-width: 1px;border-color: #ccc;
}nav {border: 1px solid #ccc {left: 0px;right: 0px;}
}

混合器
混合器使用@mixin标识符定义

@mixin rounded-corners {-moz-border-radius: 5px;-webkit-border-radius: 5px;border-radius: 5px;
}

通过@include来使用这个混合器,放在你希望的任何地方

notice {background-color: green;border: 2px solid #00aa00;@include rounded-corners;
}

elementUI

官网:https://element.eleme.cn/#/zh-CN

安装

npm i element-ui -S

main.js中引入

import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import App from './App.vue';Vue.use(ElementUI);

transition动画

官网:https://cn.vuejs.org/v2/guide/transitions.html
Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果。
包括以下工具:
在 CSS 过渡和动画中自动应用 class
可以配合使用第三方 CSS 动画库,如 Animate.css
在过渡钩子函数中使用 JavaScript 直接操作 DOM
可以配合使用第三方 JavaScript 动画库,如 Velocity.js

例子:


动画的处理过程
当插入或删除包含在 transition 组件中的元素时,Vue 将会做以下处理:
自动嗅探目标元素是否应用了 CSS 过渡或动画,如果是,在恰当的时机添加/删除 CSS 类名。
如果过渡组件提供了 JavaScript 钩子函数,这些钩子函数将在恰当的时机被调用。
如果没有找到 JavaScript 钩子并且也没有检测到 CSS 过渡/动画,DOM 操作 (插入/删除) 在下一帧中立即执行。(注意:此指浏览器逐帧动画机制,和 Vue 的 nextTick 概念不同)
过渡的类名
在进入/离开的过渡中,会有 6 个 class 切换。
v-enter:定义进入过渡的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除。
v-enter-active:定义进入过渡生效时的状态。在整个进入过渡的阶段中应用,在元素被插入之前生效,在过渡/动画完成之后移除。这个类可以被用来定义进入过渡的过程时间,延迟和曲线函数。
v-enter-to: 2.1.8版及以上 定义进入过渡的结束状态。在元素被插入之后下一帧生效 (与此同时 v-enter 被移除),在过渡/动画完成之后移除。
v-leave: 定义离开过渡的开始状态。在离开过渡被触发时立刻生效,下一帧被移除。
v-leave-active:定义离开过渡生效时的状态。在整个离开过渡的阶段中应用,在离开过渡被触发时立刻生效,在过渡/动画完成之后移除。这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。
v-leave-to: 2.1.8版及以上 定义离开过渡的结束状态。在离开过渡被触发之后下一帧生效 (与此同时 v-leave 被删除),在过渡/动画完成之后移除。

<template><div><button @click="flag=!flag">click</button><transition name="abc"><p v-if="flag">hello</p></transition></div>
</template><script>
export default {data(){return {flag:true}}
}
</script>
<style lang="scss">
.abc-enter-active,.abc-leave-active{transition:opacity 1s ease;
}
.abc-enter,.abc-leave-to{opacity:0
}
</style>

Scss、elementUI引入、transition动画 - 学习笔记相关推荐

  1. Android动画学习笔记

    Android实战经验之图像处理及特效处理的集锦 https://www.oschina.net/question/231733_44154 Android动画学习笔记 3.0以前,android支持 ...

  2. Java 3D编程实践_Java 3D编程实践——网络上的三维动画[学习笔记]

    评论 # re: Java 3D编程实践--网络上的三维动画[学习笔记] 2006-08-24 23:41 gy # re: Java 3D编程实践--网络上的三维动画[学习笔记] 2007-03-2 ...

  3. C4D 摄像机与动画 学习笔记

    C4D 摄像机与动画 学习笔记 一.工程设置 模式--工程 帧率25 二.关键帧 删除关键帧 关键帧为黄色时为未选中,为红色时是设置关键帧 ctrl+shift  点击关键帧(删除关键帧) 右击关键帧 ...

  4. D3D角色动画学习笔记(一)——角色动画简介与初步规划

    D3D角色动画学习笔记(一)--角色动画简介与初步规划 写这个系列是基于自己学习角色动画之后,相对自己的成果做一个整理,还可以给大家做一个角色动画的预览,可能会节省大家的一点时间,同时也希望各位大神能 ...

  5. CSS 动画学习笔记——Animation篇

    首先了解一下 Animation 的基本用法,使用其需要给动画指定一个周期持续的时间,以及动画效果的名称.可以看一下demo 注释:这是一个给透明和背景色属性设置的一个动画过渡效果 实现很简单(具体看 ...

  6. Canvas 数学、物理、动画学习笔记一

    Canvas 第五章 数学.物理和运动学习笔记 让人映像深刻的运动,需要我们不只是简单的知道如何移动对象,还需要知道怎么按用户期望看到的方式去移动它们.这些需要基于数学知识的基本算法和物理学作用. 基 ...

  7. 动画代码Android动画学习笔记动画代码

    间时紧张,先记一笔,后续优化与完善. 3.0之前,android支撑两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画统系:pr ...

  8. Android动画学习笔记-Android Animation

    3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三 ...

  9. Android 动画学习笔记(二)

    引言 学习动画的过程中,发现并没有那么简单. 以前只知道补间动画,属性动画,现在觉得真是弟弟. 话不多说,开始总结. 本文引用了一些网络图片,在此感谢各位作者. 转场动画 Android提供了三种现成 ...

最新文章

  1. 软件公司应该砍掉的成本
  2. c结构体里的数组与指针
  3. hdu 2824 The Euler function
  4. POJ 2054 Color a Tree (贪心)
  5. 虎牙AI基础技术部招聘深度学习/计算机视觉实习生
  6. RocKetMQ : MQClientException: The producer service state not OK, CREATE_JUST
  7. python数据结构二叉树的前序,中序,后续遍历与推导
  8. 学习日记0802函数递归,三元表达式,列表生成式,字典生成式,匿名函数+内置函数...
  9. framework7的改进,以及与vue组合使用遇到的问题以及解决方法 (附vue的原理)
  10. 使用docker部署.net core应用
  11. MCGS触摸屏通过MODBUS通讯速度控制台达B2伺服参数
  12. 云MAS中CMPP3.0协议封装与移动短信状态报告状态码说明
  13. matlab dcm文件,CT的原始图像.dcm文件的读取
  14. 软件测试中80/20原则
  15. 利用HISTFILESIZE和HISTSIZE在ubunutu中调整命令行History的Size
  16. vCenter 6.0 web访问503错误:服务不可用,无法连接endpoint,
  17. 路由器web向导页面
  18. 人工神经网络设计选择题,人工神经网络设计原则
  19. 千锋教育威哥学Java教程之Java基础学习路线
  20. android .9图片详解及应用

热门文章

  1. 经典MySQL语句大全和常用SQL语句命令的作用。
  2. 【详细注解】1020 Tree Traversals (25 分)
  3. python mongodb查询_Python MongoDB 查找
  4. laravel redis_Redis 之服务器集群配置
  5. linux升级补丁tar,Linux下Bash严重漏洞补丁升级方法
  6. metasploit终端命令大全 MSF
  7. MyEclipse使用总结
  8. php rpc调用,PHP 通过 JSON-RPC 调用实现以太坊交互
  9. @retention注解作用_Spring 最核心的注解,都是干货!
  10. oracle表空间可以迁移,Oracle 表空间迁移