CSS预处理器之Sass(一)

简介: CSS预处理器之Sass(一)

引子

① VsCode 集成 Sass

1.1 安装 Live Sass Compiler 插件

Live Sass Compiler 是一个用于实时编译和自动刷新 SCSS 文件的 VS Code 插件。

1.2 点击该页的设置按钮

1.3 进行配置

"liveSassCompile.settings.autoprefix": [
    "> 1%",
    "last 2 versions"
],
"liveSassCompile.settings.formats": [
    {
        "format": "expanded",
        "extensionName": ".css",
        "savePath": "~/../css"
    }
],
"liveSassCompile.settings.excludeList": [
    "/**/node_modules/**",
    "/.vscode/**"
],
"liveSassCompile.settings.generateMap": true,

"liveSassCompile.settings.autoprefix": 自动添加 CSS 前缀的配置。设置为使用最新的两个版本和全球使用率超过 1% 的浏览器。


"liveSassCompile.settings.formats": 编译输出格式的配置。这里设置为将编译后的 CSS 文件保存为扩展名为 .css 的文件,并指定保存路径为 ~/../css。【~/../css 指的是当前文件所在文件夹的上一文件夹下的css文件见】


"liveSassCompile.settings.excludeList": 排除列表的配置。


"liveSassCompile.settings.generateMap": 是否生成 CSS Source Map 文件的配置。

1.4 初体验

  1. 创建 css、sass、index.html

  1. 在 sass / css.scss 文件下编写
$baseColor: red;
p {
    color: $baseColor;
    display: flex;
}
  1. 点击,之后会生成 css.css 文件于 css 文件夹

  1. 这就是生成的 css 文件,注意 index.html 中样式文件就是引入该文件

② Sass 语法扩张 ✅

2.1 选择器嵌套

index.scss

.container{
  .left {
    background-color: blue;
  }
  .right {
    background-color: green;
  }
}

转为 css 后

index.css

.container .left {
  background-color: blue;
}
.container .right {
  background-color: green;
}
/*# sourceMappingURL=index.css.map */

2.2 父选择器 &

基础的使用

动态类名

.button {
  &-primary {
    background-color: blue;
  }
  &-secondary {
    background-color: green;
  }
}

转为 css 后

index.css

.button-primary {
  background-color: blue;
}
.button-secondary {
  background-color: green;
}
/*# sourceMappingURL=index.css.map */

结合 & 和伪类选择器

.button {
  &:hover {
    background-color: red;
  }
  &:active {
    background-color: #ccc;
  }
}

转为 css 后

index.css

.button:hover {
  background-color: red;
}
.button:active {
  background-color: #ccc;
}
/*# sourceMappingURL=index.css.map */

使用 & 与其它选择器组合,创建多重选择器

.button {
  &.large {
    font-size: 20px;
  }
}

转为 css 后

index.css

.button.large {
  font-size: 20px;
}
/*# sourceMappingURL=index.css.map */

在嵌套结构中使用@at-root指令生成平级的选择器

.parent {
  font: {
    weight: 900;
  }
  .good {
    background-color: blue;
  }
  .child {
    color: red;
    .sub {
      color: blue;
      @at-root .new-selector {
        color: red;
      }
    }
  }
}

转为 css 后

index.css

.parent {
  font-weight: 900;
}
.parent .good {
  background-color: blue;
}
.parent .child {
  color: red;
}
.parent .child .sub {
  color: blue;
}
.new-selector {
  color: red;
}
/*# sourceMappingURL=index.css.map */

2.3 属性嵌套

可以使用嵌套来组织 CSS 属性

语法

.container {
  width: 100%;
  height: 200px;
  padding: {
    top: 10px;
    right: 20px;
    bottom: 10px;
    left: 20px;
  }
  font: {
    weight: bold;
    size: 16px;
    family: Arial, sans-serif;
  }
}

转为 css 后

index.css

.container {
  width: 100%;
  height: 200px;
  padding-top: 10px;
  padding-right: 20px;
  padding-bottom: 10px;
  padding-left: 20px;
  font-weight: bold;
  font-size: 16px;
  font-family: Arial, sans-serif;
}
/*# sourceMappingURL=index.css.map */

2.4 占位符选择器 %foo

2.4.1 占位符选择器 %foo 有什么好处

继承样式

通过 @extend 关键字,它可以把占位符选择器变成样式的基础,避免了无穷无尽的重复编写相似的样式规则,就像是给代码穿上了可维护性的外套。

避免生成多余的 CSS代码

使用占位符选择器,它不会变成实际的 CSS 选择器,只有在被 @extend 引用的时候才会真正起作用。这样一来,就减少了生成的 CSS 文件的大小,让页面加载性能变得轻盈如鸟。不需要多余的CSS 代码。


避免与其他选择器冲突


占位符选择器的命名以 % 开头,与常规的 CSS 类选择器不同。这样可以避免与其他选择器冲突,减少样式命名的可能性。


CSS预处理器之Sass(二):https://developer.aliyun.com/article/1556764

目录
相关文章
|
3天前
|
前端开发 开发者
在 Vite 中使用 CSS 预处理器的劣势是什么?
在 Vite 中使用 CSS 预处理器的劣势是什么?
|
3天前
|
前端开发
在 Vite 中使用 CSS 预处理器的优势是什么?
在 Vite 中使用 CSS 预处理器的优势是什么?
|
3月前
|
前端开发 JavaScript
vue3【实战】创建项目、创建并提交代码到远程仓库,安装 SASS, 清除浏览器默认样式 reset-css, 清除模板代码,提升开发效率的必要集成
vue3【实战】创建项目、创建并提交代码到远程仓库,安装 SASS, 清除浏览器默认样式 reset-css, 清除模板代码,提升开发效率的必要集成
52 0
|
3月前
|
前端开发
CSS预处理器之Sass(三)
CSS预处理器之Sass(三)
18 0
|
3月前
|
前端开发 JavaScript
CSS预处理器之Sass(二)
CSS预处理器之Sass(二)
22 0
|
2月前
|
前端开发
2s 利用 HTML+css动画实现企业官网效果
2s 利用 HTML+css动画实现企业官网效果
HTML+CSS 实现通用的企业官网页面(记得收藏)
HTML+CSS 实现通用的企业官网页面(记得收藏)
|
5天前
|
前端开发 数据安全/隐私保护 容器
HTML+CSS 水滴登录页
该代码实现了一个创意的水滴登录页面,包含一个水滴形状的登录框与两个按钮(忘记密码和注册)。登录框包括用户名、密码输入框及登录按钮。页面设计独特,采用渐变色与动态效果,增强了交互性和视觉美感。以下为关键实现步骤: - 重置默认样式。 - 设置页面背景颜色和尺寸。 - 定义登录表单容器的布局、位置和尺寸。 - 设置登录表单内容样式,包括3D效果和过渡动画。 - 创建伪元素增强水滴效果。 - 设定输入框容器和输入框样式。 - 为提交按钮、忘记密码和注册按钮设定特定样式,并添加悬停效果。
|
23天前
|
Web App开发 前端开发 JavaScript
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
|
2月前
|
前端开发 JavaScript
HTML+CSS如何打造撒花动画效果?3分钟学会,炫酷到爆!
HTML+CSS如何打造撒花动画效果?3分钟学会,炫酷到爆!