美文网首页
丸子学SASS(学习1小时 - 基本扩展)

丸子学SASS(学习1小时 - 基本扩展)

作者: 丸子小姐__不懂爱 | 来源:发表于2023-12-17 13:40 被阅读0次

前言

sass一个css后置处理器,减少了开发人员的输入,极大地提升了开发效率,所以有必要花点时间学习下, 上手很快,先来学习下基本的扩展内容

嵌套规则

内层的样式将它外层的选择器作为父选择器,看例子

#main p {
  color: #00ff00;
  width: 97%;

  .redbox {
    background-color: #ff0000;
    color: #000000;
  }
}

父选择器 &

当需要直接使用嵌套外层的父选择器时,可使用 & 进行连接

a {
  font-weight: bold;
  text-decoration: none;
  &:hover { text-decoration: underline; }
  body.firefox & { font-weight: normal; }
}

属性嵌套

有些 CSS 属性遵循相同的命名空间 (namespace),比如 font-family, font-size, font-weight 都以 font 作为属性的命名空间。 看例子

.funky {
  font: {
    family: fantasy;
    size: 30em;
    weight: bold;
  }
}

变量$

变量支持块级作用域, 嵌套规则内定义的变量只能在规则内使用(局部变量) , 若要转换为全局变量需添加 !global声明

$width: 20px;  // 全局变量

#main {
  $height: 50px !global;  // 局部变量
  width: $width
}
#sidebar {
  height: $height;
}

插值语句 #{}

通过 #{} 插值语句可以在选择器或属性名中使用变量

$name: foo;
$attr: border;
p.#{$name} {
  #{$attr}-color: blue;
}

变量定义 !default

在变量的结尾添加 !default 给一个未通过 !default 声明赋值的变量赋值,此时,如果变量已经被赋值,不会再被重新赋值,但是如果变量还没有被赋值,则会被赋予新的值

$content: "First content";
$content: "Second content?" !default;
$new_content: "First time reference" !default;

#main {
  content: $content;
  new-content: $new_content;
}

@import

导入其他的scc文件,Sass 将会试着寻找文件名相同,拓展名为 .scss 或 .sass 的文件并将其导入

// 单个文件导入
@import "foo.css";
// 多个文件导入
@import "rounded-corners", "text-shadow";

导入嵌套@import,可以将@import 嵌套进css或@media中,这样导入的样式只会出现在嵌套的层中

@extend

将一个选择器下的所有样式继承给另一个选择器

.error {
  border: 1px #f00;
  background-color: #fdd;
}
.seriousError {
  @extend .error;
  border-width: 3px;
}

当需要定义一套样式并不是给某个元素,而只是通过@extend指令使用时,需要使用到@extend-Only选择器

#context a%extreme {
  color: blue;
  font-weight: bold;
  font-size: 2em;
}
.notice {
  @extend %extreme;
}

@at-root

@at-root指令导致一条或多条规则在文档的根位置发出,而不是嵌套在它们的父选择器下面

.parent {
  ...
  @at-root {
    .child1 { ... }
    .child2 { ... }
  }
  .step-child { ... }
}

相关文章

  • SASS入门1

    2015年10月19日1.SASS和SCSS的区别1)文件扩展名不同,Sass 是以“.sass”后缀为扩展名,而...

  • CSS预处理器入门介绍:Sass、Less 和 Stylus

    css 预处理器:Sass、Less 和 Stylus 【Sass】 扩展名:「 *.sass 」和「 *.scs...

  • SASS教程

    Sass是一种CSS扩展语言,它使CSS的编写变得更快更容易。本教程将帮你学习Sass的重点知识。 预备知识 具备...

  • JavaScript学习笔记(三十五)-- SASS

    SASS Sass世界上最成熟、稳定和强大的CSS扩展语言 | Sass中文网​www.sass.hk 世界上最成...

  • 前端菜鸟之SASS入门笔记

    Sass 是成熟、稳定、强大的 CSS 扩展语言。sass是需要编译的,sass不能直接用于页面。它可以提高编程效...

  • 01_Sass介绍、安装、compass介绍和Sass、Less

    参考 Sass和Compass 指南 Sass和Scss介绍 SASS是CSS3的一个扩展,增加了规则嵌套、变量、...

  • SASS 总结

    Sass是一门css扩展语言 Sass 与 Scss 区别 Sass是一种缩进式的语法 不需要{} ;以及/**/...

  • 学习SASS

    css扩展语言 面向对象 变量 嵌套 混合 导入 安装Sass和Compass sass基于Ruby语言开发而成,...

  • CSS 预处理器-Sass高级

    上一篇学完了Sass基础部分,这次要学习的是Sass的高级部分。 条件语句 在Sass中也有条件判断的语句,用法为...

  • Sublime Text 配置 Sass

    Sass(Syntactically Awesome StyleSheets) 是对 CSS 的扩展,让 CSS ...

网友评论

      本文标题:丸子学SASS(学习1小时 - 基本扩展)

      本文链接:https://www.haomeiwen.com/subject/sgkjgdtx.html