首页 > 其他分享 >sass讲解

sass讲解

时间:2022-08-31 21:58:23浏览次数:90  
标签:sass width color 编译 讲解 font size

sass概述

sass是一个预编译的css语言,它是使用ruby语言写的,和它一样的预编译语言还有less,它是使用js写的。sass的环境之前是ruby环境,但是由ruby并了python,所以它可以运行在python环境上,这个些内容并不能直接使用,因为它属于预编译css,没有进行编译是不能被使用的。编译完还是css,那么我们知道它有个编译过程并比损耗效率,那么它的优势在哪?

预编译css的优势就是它可以减少你的css代码的书写量,并编译出对应的简洁的css代码。

常用的预编译css

sass (底层采用ruby书写)循环可以支持所有类型

less (底层采用js书写) 循环只支持数值类型

stylus (底层采用的是js (功能单一) 它是以缩进来区分对应的层级)

sass的常用俩种形式

sass 后缀 (以缩进来做为区分 没有{} ;)

scss 后缀 (类似于css的区分)

sass的编译环境

node支持python 运用node环境来运行sass

安装

npm install sass -g

编译


sass 需要编译的文件 编译后的文件

监听编译


sass --wacth 需要编译的文件:编译后的文件
vscode的插件来帮助我们编译sass
easy sass 扩展

扩展设置

保存后自动编译

 

 

 

live sass 扩展

sass入门

官方文档

变量定义 使用$进行变量定义(*)

$color:red;
div{
   background-color:$color;
}

div {
 background-color: red;
}
选择器嵌套 使用&表示当前选择器(*)

div{
   background-color:$color;
   a,b{
       text-align: center;
  }
  &:hover{
       color: $color;
  }
}
div a, div b {
 text-align: center;
}

div:hover {
 color: red;
}
样式嵌套

span{
   border: 1px solid #ccc {
       bottom: none;
      };
}

div span {
 border: 1px solid #ccc;
 border-bottom: none;
}
支持运算符 + - * / %

$size:10px;
p{
   font-size: $size * 5 / 10 + 20 % 1;
}
#box{
   font-size: 10px + 10;
}

p {
 font-size: 5px;
}
#box {
 font-size: 20px;
}
支持if else判断

#content{
   @if $size>5 {font-size: $size - 5;}
   @if $size - 5>5 {color:red}
   @else if $size - 5<5{color:blue}
   @else {color:green}
}

#content {
 font-size: 5px;
 color: green;
}
支持for循环 (插值表达式 #{})

//普通for循环
@for $i from 1 through 3 {
   .item-#{$i} { width: 2em * $i; }
}
//for each循环
$list : 1,2,3,4,5;
@each $var in $list {
   .icon-#{$var}{
       font-size:$var * 5px ;
  }
}

.item-1 {
 width: 2em;
}

.item-2 {
 width: 4em;
}

.item-3 {
 width: 6em;
}

.icon-1 {
 font-size: 5px;
}

.icon-2 {
 font-size: 10px;
}

.icon-3 {
 font-size: 15px;
}

.icon-4 {
 font-size: 20px;
}

.icon-5 {
 font-size: 25px;
}
支持while循环

$i: 6;
@while $i > 0 {
 .item-#{$i} { width: 2em * $i; }
 $i: $i - 2;
}

.while-6 {
 width: 12em;
}

.while-4 {
 width: 8em;
}

.while-2 {
 width: 4em;
}
注释 /**/ 多行注释 // 单行注释

// 不会编译到css文件 /**/会编译到css文件

混入器 mixin (*)

//混入器
@mixin borderStyle {
   border: 1px solid red;
}
.box{
   @include borderStyle()
}
//传参的混入器 支持默认参数的
@mixin borderStyle1($a:1px,$b:solid,$c:green) {
   border: $a $b $c;
}
#box{
   // @include borderStyle1(1px,solid,red)
   @include borderStyle1(2px)
}

.box {
 border: 1px solid red;
}

#box {
 border: 2px solid green;
}
方法 返回值的形式

@function reduce($a){
   @return $a+10;
}
#hello{
 width: reduce(10px);
}

#hello {
 width: 20px;
}
继承 extend(复用 *)

#hi{
   //继承hello的内容
   @extend #hello;
   height: 20px;
}

#hello, #hi {
 width: 20px;
}

#hi {
 height: 20px;
}
导入 (*)

@import './mixin.scss';

#box{
   @include borderStyle1()
}

#box {
 border: 1px solid green;
}

gulp

gulp是一个自动化构建工具(构建环境 将代码打包 基于文件流的形式) (outer了),webpack --- vite。

https://www.gulpjs.com.cn/

都是基于node环境运行的。用到模块来构建环境


npm install gulp -g
npm install webpack -g
npm insatll vite -g

 

标签:sass,width,color,编译,讲解,font,size
From: https://www.cnblogs.com/bigBossKiss/p/16644639.html

相关文章

  • sass
    sass概述      sass是一个预编译的css语言,它是使用ruby语言写的,和它一样的预编译语言还有less,它是使用js写      的。sass的环境之前是ruby环境......
  • 稀疏数组详细讲解
    稀疏数组的应用场景稀疏sparsearray数组稀疏:从字面意思理解就是为了压缩重复冗余的数据基本介绍:当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数......
  • SpringAop切入点execution表达式的深入讲解
    目录一、Aspect切入点语法定义二、如何定义多个切入点,在多个表达式之间如何表示  三、execution表达式五、方法签名表达式六、其他替代的切入点指示符七、通配......
  • 关于vue.js:vue使用sass中deep报错
    转自:https://lequ7.com/guan-yu-vuejsvue-shi-yong-sass-zhong-deep-bao-cuo.html之前装了一个vue3.0的环境,结果搬砖的时候发现vue2.0的项目跑不了了然后照着网上说......
  • 多测师肖sir___项目讲解
    一、目的讲解流程:(讲述业务时长10-15分钟为宜)1.自我介绍礼貌用语,姓名,籍贯,学校,个人技能,经验,表现,兴趣爱好等  ,1分钟,谢谢2.介绍项目的名字,项目的背景,(涉及什么架构)3.......
  • 电商项目项目讲解【杭州多测师】【杭州多测师_王sir】
    我们最近的项目做的是一个电商的项目,主要包含了首页、购物车、订单管理、个人中心等模块,我们客户可以通过我们的首页进行商品的选购并提交订单,此时我们系统会调用创建订单......
  • node-sass 安装出错常见解决方法
    使用与node-sass版本兼容的node到package.json中找到node-sass的版本号。使用nvm将node切换到与node-sass版本兼容的版本(sass/node-sass有版本对照表)。......
  • 肖sir___git讲解
    一、git介绍gitGit(读音为/gɪt/。),是目前世界上最先进的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git是LinusTorvalds为了帮助管理......
  • sass---安装sass失败解决方法
    今天在做vue项目,项目是老项目新开,使用的webpack比较老旧,通过正常的安装sass的方法,报错,无法安装。常规的安装方法:1、安装sass-loadernpminstallsass-loader--save-de......
  • Sass预处理器 常见函数的基本使用
    Sass提供了许多内置模块,其中包含有用的函数(以及mixin)。这些模块可以像任何用户定义的样式表一样使用@use规则加载,它们的函数可以像任何其他模块成员一样调用。所有内置模块......