scss 常用教程

本文是关于SCSS的教程,它介绍了如何在vue-cli3中配置全局SCSS变量,以及SCSS的常用特性如变量、映射、嵌套、引入、混合、继承、操作符、CSS扩展和嵌套属性。SASS提供变量存储复用信息,地图对象,嵌套选择器增强可读性,引入片段简化管理,混合实现代码复用,继承减少冗余,操作符进行简单计算,CSS扩展及嵌套属性提升效率。
摘要由CSDN通过智能技术生成

vue-cli3 配置全局 scss 变量

vue add style-resources-loader

之后按需选择 scss

// vue.config.js
const path = require('path')
module.exports = {
   
  publicPath: './',

  pluginOptions: {
   
    'style-resources-loader': {
   
      preProcessor: 'scss',
      patterns: [
        path.resolve(__dirname, './src/common.scss')
      ]
    }
  }
}

scss 常用教程

  • Sass是成熟、稳定、强大的CSS预处理器,而SCSS是Sass3版本当中引入的新语法特性,完全兼容CSS3的同时继承了Sass强大的动态功能。
    特性概览
  • CSS书写代码规模较大的Web应用时,容易造成选择器、层叠的复杂度过高,因此推荐通过SASS预处理器进行CSS的开发,SASS提供的变量、嵌套、混合、继承等特性,让CSS的书写更加有趣与程式化。

变量

变量用来存储需要在CSS中复用的信息,例如颜色和字体。SASS通过$符号去声明一个变量。

$font-stack: Helvetica, sans-serif;
$primary-color: #333;

body {
   
  font: 100% $font-stack;
  color: $primary-color;
}

上面例子中变量 f o n t − s t a c k 和 font-stack和 fontstackprimary-color的值将会替换所有引用他们的位置。

body {
   
  font: 100% Helvetica, sans-serif;
  color: #333;
   }

map

Sass Map(映射)对象是以一对或多对的 key/value 来表示。
Sass Map 是不可变的,因此在处理 Map 对象时,返回的是一个新的 Map 对象,而不是在原有的 Map 对象上进行修改。
下表列出了 Sass 的 Map 函数:

函数 描述 & 实例
map-get(map, key) 返回 Map 中 key 所对应的 value(值)。如没有对应的 key,则返回 null 值。

实例:
$font-sizes: ("small": 12px, "normal": 18px, "large": 24px)
map-get($font-sizes, "small")
结果: 12px
map-has-key(map, key) 判断 map 是否有对应的 key,存在返回 true,否则返回 false。

实例:
$font-sizes: ("small": 12px, "normal": 18px, "large": 24px)
map-has-key($font-sizes, "big")
结果: false
map-keys(map) 返回 map 中所有的 key 组成的队列。

实例:
$font-sizes: ("small": 12px, "normal": 18px, "large": 24px)
map-keys($font-sizes)
结果: "small", "normal, "large"
map-merge(map1, map2) 合并两个 map 形成一个新的 map 类型,即将 map2 添加到 map1的尾部

实例:
$font-sizes: ("small": 12px, "normal": 18px, "large": 24px)
$font-sizes2: ("x-large": 30px, "xx-large": 36px)
map-merge($font-sizes, $font-s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值