【暑期实训】2021-7-1 Sass学习(一)

今日工作

  • 初始化前端界面、样式(除了知识图谱相关的其他)
  • 学习sass使用
  • 深入D3js的了解

Sass学习记录

1、sass概述

浏览器并不支持 Sass 代码。因此,你需要使用一个 Sass 预处理器将 Sass 代码转换为 CSS 代码。

Mac上sass安装
brew install sass/sass/sass

另:
可以将sass转化为css,保存在.css中:

sass runoob-test.scss runoob-test.css

变量

Sass 变量可以存储以下信息:

  • 字符串
  • 数字
  • 颜色值
  • 布尔值
  • 列表
  • null 值

Sass 变量使用$符号:

$myFont: Helvetica, sans-serif;
$myColor: red;
$myFontSize: 18px;
$myWidth: 680px;

body {
  font-family: $myFont;
  font-size: $myFontSize;
  color: $myColor;
}

#container {
  width: $myWidth;
}

转化为CSS:

body {
  font-family: Helvetica, sans-serif;
  font-size: 18px;
  color: red;
}

#container {
  width: 680px;
}

作用域

Sass 变量的作用域只能在当前的层级上有效果。

$myColor: red;

h1 {
  $myColor: green;   // 只在 h1 里头有用,局部作用域
  color: $myColor;
}

p {
  color: $myColor;
}

当然 Sass 中我们可以使用!global关键词来设置变量是全局的.

$myColor: red;

h1 {
  $myColor: green !global;  // 全局作用域
  color: $myColor;
}

p {
  color: $myColor;
}

现在 p 标签的样式就会变成 green。
注意:所有的全局变量我们一般定义在同一个文件,如:_globals.scss,然后我们使用 @include来包含该文件。

Sass 嵌套规则与属性

1.嵌套选择器
Sass 嵌套 CSS 选择器类似于 HTML 的嵌套规则。

nav {
  ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  li {
    display: inline-block;
  }
  a {
    display: block;
    padding: 6px 12px;
    text-decoration: none;
  }
}

对应的css:

nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
nav li {
  display: inline-block;
}
nav a {
  display: block;
  padding: 6px 12px;
  text-decoration: none;
}

2.嵌套属性
很多 CSS 属性都有同样的前缀,例如:font-family, font-size 和 font-weight , text-align, text-transform 和 text-overflow。

font: {
  family: Helvetica, sans-serif;
  size: 18px;
  weight: bold;
}

text: {
  align: center;
  transform: lowercase;
  overflow: hidden;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: sass-loader 和 node-sass 是与 Sass 相关的两个包,常用于在 Webpack 构建工具中处理 Sass 样式文件。 sass-loader 是 Webpack 中的一个 loader,它可以将 Sass 文件转换为 CSS 文件。当 Webpack 在处理模块时遇到了以 .sass 或 .scss 后缀的文件时,就会使用 sass-loader 来将这些文件转换为 CSS 文件。sass-loader 可以支持一些额外的功能,例如在 Sass 文件中使用变量、混合、嵌套等语法特性。 node-sass 是一个使用 C++ 编写的 Sass 编译器,它可以将 Sass 文件编译CSS 文件。node-sasssass-loader 的一个依赖项,它实现Sass编译功能。当 Webpack 在处理 Sass 文件时,sass-loader 会使用 node-sass 这个编译器将 Sass 代码转换为 CSS 代码。由于 node-sass 使用了 C++ 编写,因此它的编译速度比纯 JavaScript 实现Sass 编译器要快很多。 综上所述,sass-loader 和 node-sass 是两个在 Webpack 中处理 Sass 样式文件时经常使用的包,sass-loader 负责将 Sass 文件转换为 CSS 文件,node-sass 则提供了 Sass编译功能,使得 sass-loader 可以高效地将 Sass 代码转换为 CSS 代码。 ### 回答2: Sass-loader和node-sass是两个在Webpack开发中常用的Sass编译器。Sass是一种CSS预处理器,可以使用变量、嵌套、继承和函数等高效地编写CSS样式。Sass-loader和node-sass都是用来将Sass代码编译成浏览器可以解析的CSS代码的工具。 Sass-loader是一个Webpack插件,可以将Sass代码转换为CSS,并将其作为模块插入到Webpack构建中。Sass-loader可以通过多种方式设置Sass选项,例如在Webpack的配置文件中设置options对象,或者使用预设的选项。Sass-loader可以与Postcss-loader一起使用,自动添加厂商前缀和其他后处理工具。 Node-sass是一个Sass编译器,使用C++编写并作为Node.js的原生模块,可以快速地将Sass代码编译CSS。Node-sass支持大多数Sass选项和自定义函数,可以轻松地在Node.js项目中使用。Node-sass还可以与Grunt、Gulp和其他构建工具一起使用,方便编译Sass代码。 总的来说,Sass-loader和node-sass都是强大的工具,可以大大提高Web开发中的CSS编写效率。Sass-loader是Webpack的一个插件,可以将Sass代码转换为CSS,并帮助实现自动添加厂商前缀和其他后处理工具的功能。Node-sass是一个Sass编译器,可以快速地将Sass代码编译CSS,并且可以方便地与Grunt、Gulp和其他构建工具一起使用。同时,两者也可以结合使用,在Webpack项目中使用Sass-loader将Sass打包,使用Node-sass在Node.js项目中编译Sass代码。 ### 回答3: sass-loader和node-sass都是与Sass编译相关的工具,可在Webpack等打包工具中使用。Sass是一种CSS的预处理器,可以在编写CSS时添加变量、函数、嵌套等特性,提高了CSS的可读性和可维护性。以下是sass-loader和node-sass的详细介绍。 sass-loader: sass-loader是Webpack中的一个loader,用于将Sass编译CSS。它可以自动解析import和url语句,并可以根据需要自定义Sass的选项。sass-loader需要依赖node-sass,因此先要安装node-sass才能使用sass-loader。 sass-loader的主要特点包括: 1.支持import和url语句的自动解析和处理。 2.可以自定义Sass的选项,如启用sourceMap、输出style格式、添加自定义函数和变量等。 3.支持在Webpack中使用vue-style-loader来提取CSS。 使用sass-loader的相关配置如下: { test: /\.scss$/, use: [ 'vue-style-loader', 'css-loader', 'sass-loader' ] } node-sass: node-sassSass的一个编译器,它是一个由C++模块编写的Node.js模块。它利用了LibSass库的功能来编译Sass文件,可以快速地将Sass编译CSS。node-sass本身不提供CLI工具,但可以通过在命令行中使用node-sass命令来使用它。 node-sass的主要特点包括: 1.可以使用命令行或API接口来编译Sass文件。 2.支持sourceMap功能,可以在浏览器中调试Sass源代码。 3.支持输出style格式、压缩CSS和自定义函数。 使用node-sass的相关配置如下: const sass = require('node-sass'); sass.render({ file: './app.scss', outFile: './app.css', outputStyle: 'compressed' }, function(err, result) { if(!err) { console.log('Sass编译成功'); } });

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值