1.scss与less都是css的预处理器,首先我们的明白为什么要用scss与less,因为css只是一种标记语言,其中并没有函数变量之类的,所以当写复杂的样式时必然存在局限性,不灵活,而scss与less正好为css提供这些,让css可以像编程一样灵活书写样式,而且scss与还提供了一些css兼容性的处理,所以运用scss就不需要像写css时队友的语法需要做hack处理。SCSS 是 Sass 3 引入新的语法,其语法完全兼容 CSS3,并且继承了 Sass 的强大功能。也就是说,任何标准的 CSS3 样式表都是具有相同语义的有效的 SCSS 文件。

2.本文我们只对scss介绍,其实less都差不多,当你使用scss语法是要用.scss后缀,使用sass语法时用.sass后缀。
3.在vue项目中的使用:

  • 安装:在命令行中输入:npm install node-sass sass-loader --save-dev
  • 在样式中声明使用scss:<style lang=scss scoped><style>(到这里就可以愉快的使用scss语法了)
  • 注:在webpack.config.js中不需要配置使用sass-loader,因为vue-loader会自动解析

4. scss常用语法简介:

1.自定义变量以及子元素书写:

<style lang=scss scoped>
/*scss的使用:*/
/*1.自定义变量*/
$color:pink;
$width:200px;
$height:200px;
$right:right;
$num:;
.test{
background:$color;
width:$width;
height:$height;
margin:30px auto;
/*插入变量*/
border-#{$right}:2px solid blue;
/*子元素的书写 选择器嵌套*/
p{
color:orange;
font-size: 30px;
}
}

2.样式的加减乘除以及继承样式:

.p{
background:yellowgreen;
}
.test2{
/*样式的加减乘除,自定义变量再使用*/
width:$num*100px;
height:$num*50px;
border:(1px+1px) solid orange;
/*样式的继承*/
@extend .p;
}

3.样式的复用:

/*代码的复用,相当于自定义一个函数,并且可以 传参*/
@mixin box($height){
height:$height;
width:200px;
border:1px solid deeppink;
}
.test3{
/*调用*/
@include box(200px);
}

4.使用if语句:

/*使用if语句判断使用哪套样式,lightness是scss中的一个函数,用来判断色彩度,$color为传入的自定义参数*/
.test4{
@if lightness($color)<%{
width:50px;
height:50px;
background:cyan;
}@else{
width:50px;
height:50px;
background:yellow;
}
}

5.scss的三种循环:for   while   each:

/*循环语法,包括最常见的三种循环方法,for,while,each,*/
/*其中循环包含开始不包含结束量,如下不包含5*/
@for $i from to {
.R#{$i}{
width:$i*20px;
height:$i*20px;
/*注意:变量带单位时不能写成($i)px;应该写:#{$i}px*/
border:#{$i}px solid olive;
}
}

6.scss中的函数:

/*函数使用*/
@function double ($num){
@return $num*
}
.test5{
font-size: double(20px);
color:gold;
}

scss/less语法以及在vue项目中的使用(转载)的更多相关文章

  1. 如何在VUE项目中使用SCSS

    首先要了解什么是CSS 预处理器? SCSS是一种CSS预处理语言 定义了一种新的专门的编程语言,编译后形成正常的css文件,为css增加一些编程特性,无需考虑浏览器的兼容性(完全兼容css3),让c ...

  2. vue项目中设置全局引入scss,使每个组件都可以使用变量

    在Vue项目中使用scss,如果写了一套完整的有变量的scss文件.那么就需要全局引入,这样在每个组件中使用. 可以在mian.js全局引入,下面是使用方法. 1: 安装node-sass.sass- ...

  3. 如何解决vue项目中 scss 不支持 scoped 的 /deep/ 穿透写法

    如何解决vue项目中 scss 不支持 scoped 的 /deep/ 穿透写法 用过vue的人估计都用过scoped样式属性,但有时候需要穿透样式,啥办? 很多资料都说用>>> 或 ...

  4. Vue项目中如何使用Element-UI以及如何使用sass

    Vue项目中如何使用Element-UI以及如何使用sass 当我们在开发Vue项目的时候通常会选择Element-UI作为我们的UI框架,其官方中文文档地址是http://element.eleme ...

  5. 如何在VUE项目中添加ESLint

    如何在VUE项目中添加ESLint 1. 首先在项目的根目录下 新建 .eslintrc.js文件,其配置规则可以如下:(自己小整理了一份),所有的代码如下: // https://eslint.or ...

  6. 在vue项目中使用axios发送FormData

    这个是axios的中文文档,挺详细的: https://www.kancloud.cn/luponu/axios/873153 文档中的    使用 application/x-www-form-ur ...

  7. 在vue项目中 如何定义全局变量 全局函数

    如题,在项目中,经常有些函数和变量是需要复用,比如说网站服务器地址,从后台拿到的:用户的登录token,用户的地址信息等,这时候就需要设置一波全局变量和全局函数 定义全局变量 原理: 设置一个专用的的 ...

  8. <转载> VUE项目中CSS管理

    vue的scoped 在vue项目中,当 .vue文件中 <style> 标签有 *scoped 属性时,它的 CSS 只作用于当前组件中的元素,很好的实现了样式私有化的目的. 使用sco ...

  9. vue入坑教程(二)在vue项目中如何导入element以及sass

    在项目中导入element以及sass.stylus等方便开发的工具以及UI框架 (1)如何在vue项目中导入elementUI框架 elementUI是饿了么团队开发出来基于vue的前端UI框架,其 ...

随机推荐

  1. mysql 数据库学习笔记一

    一.navicat的引入: (第三方可视化的客户端,方便MySQL数据库的管理和维护)安装网址:https://www.navicat.com.cn/ NavicatTM是一套快速.可靠并价格相宜的数 ...

  2. SQL随记(四)

    1.for loop 循环 格式:for index in lower .. upper loop end loop; for i in 1 .. g_descTbl.count loop if ( ...

  3. 2017-12-19python全栈9期第四天第三节之iterable可迭代对象join之字符串和列表转换成字符串和range

    #!/user/bin/python# -*- coding:utf-8 -*-s = 'zd's1 = '_'.join(s)print(s1)li = ['zs','ls','ww','zl',' ...

  4. NameNode与DataNode的工作原理剖析

    NameNode与DataNode的工作原理剖析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HDFS写数据流程 >.客户端通过Distributed FileSyst ...

  5. Unity下载

    Unity下载 Mac OS或Windows操作系统都可以使用对应的Unity版本进行开发 Unity引擎的官方网站:http://www.unity3d.com 官方下载地址:http://unit ...

  6. HDU - 3035 War(对偶图求最小割+最短路)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3035 题意 给个图,求把s和t分开的最小割. 分析 实际顶点和边非常多,不能用最大流来求解.这道题要用 ...

  7. python魔法方法之构造和析构

    python的类实例化的时候会默认执行该类的构造方法_init_ class Rectangle: def __init__(self,x,y): self.x=x self.y=y def getA ...

  8. CSS之Background

    实验环境 [Windows 10] Chrome 73.0.3683.103(386,64bit) background作用范围 content+padding 参考文献 [1] CSS backgr ...

  9. 浅入深出Vue:工具准备之PostMan安装配置及Mock服务配置

    浅入深出Vue之工具准备(二):PostMan安装配置 由于家中有事,文章没顾得上.在此说声抱歉,这是工具准备的最后一章. 接下来就是开始环境搭建了~尽情期待 工欲善其事必先利其器,让我们先做好准备工 ...

  10. windows下搭建Kafka,并通过命令窗口收发消息

    参考网址: https://blog.csdn.net/ydc321/article/details/70154278 前提条件:windows环境需要安装jdk 1.下载Kafka,可以通过官网下载 ...