vuereact & vue & angularvue

vue 项目中使用sass

2022-02-07  本文已影响0人  暴躁程序员

sass 参考:https://sass.bootcss.com/

1. cdn 地址

<script src="https://cdn.bootcdn.net/ajax/libs/sass.js/0.9.9/sass.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/sass.js/0.9.9/sass.min.js"></script>

2. sass 的常用操作

如果在vue脚手架搭建的项目中需要使用sass,建议初始化时勾选sass配置,自行安装,选择默认的dart-sass

  1. 变量(Variables)
    常用于公共样式属性的复用
定义语法: $变量名称: 变量值;
使用语法: $变量名称
<template>
  <div id="main">
    <div class="content1">sass 变量</div>
  </div>
</template>
<style lang="scss" scoped>
$bg-color: red;
$text-color: #fff;
#main {
  background: rgba($bg-color, 0.6);
  color: $text-color;
}
</style>

映射(Maps)
它类似js里面从对象中获取属性的值,除了获取属性值,还有对映射属性的判断、移除,获取属性名和所有属性值等方法,根据需要自行使用

定义语法: $映射变量名称: (属性名:属性值,属性名:属性值)
使用语法: map-get($映射变量名称, 属性名)
<template>
  <div id="main">
    <div class="content1">sass 映射</div>
  </div>
</template>
<style lang="scss" scoped>
$colors: (
  "bg-color": red,
  "text-color": #fff,
);
#main {
  background: rgba(map-get($colors, "bg-color"), 0.6);
  color: map-get($colors, "text-color");
}
</style>

  1. 混合(Mixins)
    常用于一组样式的复用,定义混合类时可以使用其他混合类(可嵌套)
定义语法: @mixin 混合类名{混合样式};
使用语法: @include 混合类名;
<template>
  <div id="main">
    <div class="content1">sass 混合</div>
  </div>
</template>
<style lang="scss" scoped>
@mixin bg-color {
  background: rgba(red, 0.6);
}
@mixin colors {
  @include bg-color;
  color: #fff;
}

#main {
  @include colors;
}
</style>

  1. 嵌套(Nesting)
    开发必用,sass样式和vue模板的层级同步,所赋予的样式只在当前层级下生效,其中注意当前父级 & 的使用
<template>
  <div id="main">
    <h1>sass 嵌套</h1>
    <div class="content1">
      <div>内容一</div>
    </div>
  </div>
</template>
<style lang="scss" scoped>
#main {
  background: #ccc;
  height: 50vh;
  & h1 {
    color: rgb(240, 143, 17);
  }
  & > div {
    padding: 10px;
    background: darkcyan;
    & div {
      color: chartreuse;
      background: chocolate;
    }
  }
}
</style>

  1. 运算(Operations)
<template>
  <div id="main">
    <h1>sass 运算</h1>
  </div>
</template>
<style lang="scss" scoped>
#main {
  background: #ccc;
  height: calc(50vh + 200px);
  width: 100px * 10;
}
</style>
  1. 函数(Functions)
    sass 内置了多种函数用于转换颜色、处理字符串、算术运算等
    内置函数,参考:https://www.jianshu.com/p/ef2ca6fbf944
    自定义函数,参考:https://www.jianshu.com/p/7f879ce0cbb9
定义语法: @function 函数名(参数: 无参默认值) {  @return 函数最终返回值}
使用语法: 函数名(参数)
<template>
  <div id="main">
    <h1>sass 函数</h1>
  </div>
</template>
<style lang="scss" scoped>
@function add($a: 100px, $b: 100px) {
  @return calc($a + $b);
}

#main {
  background: #ccc;
  height: add(50vh);
  width: add(50vw, 30vw);
}
</style>

  1. 引入 .scss文件
    引入方法和引入css方法一样,scss文件的后缀名称可以省略,使用时注意后边的分号;必须加,否则报错
@import "@/assets/styles/index.scss";
  1. 注释
    和js注释相同
    单行:// 注释内容
    多行:/* 注释内容 */
上一篇下一篇

猜你喜欢

热点阅读