SCSS:CSS的Sassier版本
#css #编程 #教程 #scss

您好,在本文中,我将向您介绍SCS的一些关键功能,并向您展示如何在项目中使用它们。

变量

您可以将变量用于任何CSS属性,例如字体,颜色和尺寸。要创建变量,您使用$符号:

$primary-color: #ff0000;
$secondary-color: #00ff00;
$font-family: Arial, sans-serif;

要使用变量,您只需写入其名称而不是值。例如:

h1 {
  color: $primary-color;
  font-family: $font-family;
}

p {
  color: $secondary-color;
  font-family: $font-family;
}

筑巢

嵌套使您可以编写与HTML相同结构的选择器。您可以使用卷曲支架编写长时间重复的选择器,而是可以彼此嵌套。例如:

nav {
  background-color: #333;
  ul {
    list-style: none;
    li {
      display: inline-block;
      a {
        color: #fff;
        text-decoration: none;
      }
    }
  }
}

这等同于写作:

nav {
  background-color: #333;
}

nav ul {
  list-style: none;
}

nav ul li {
  display: inline-block;
}

nav ul li a {
  color: #fff;
  text-decoration: none;
}

混合物

混合素是定义可重复使用的代码块的一种方法,这些代码可以接受参数并根据输入的不同值返回不同的值。要创建Mixin,您可以使用@mixin,然后使用Mixin的名称和一些参数。例如:

@mixin border-radius($radius) {
  -webkit-border-radius: $radius;
  -moz-border-radius: $radius;
  border-radius: $radius;
}

要使用Mixin,您可以使用@include指令,然后使用Mixin的名称和一些参数。例如:

.button {
  @include border-radius(10px);
}

功能

函数与Mixins相似,但它们返回单个值而不是代码块。您可以使用功能进行计算,转换或值的操作。要创建一个函数,您可以使用@function指令,然后使用该函数的名称和一些参数。例如:

@function darken($color, $amount) {
  return mix(black, $color, $amount);
}

要使用函数,您只需写出其名称,然后是括号和一些参数。例如:

.button:hover {
  background-color: darken($primary-color, 10%);
}

使用

要使用另一个文件中的代码,只需编写@use: 'path';

操作员

您可以使用操作员在SCSS代码中执行计算,比较或串联。例如:

$width: 100px;
$height: 50px;

div {
  width: $width * 2; // 200px
  height: $height / 2; // 25px
  margin: ($width + $height) / 4; // 37.5px
}

p {
  font-size: 12px + 2px; // 14px
}

a {
  color: #fff or #000; // #fff
}

有条件

条件是根据条件是对还是错,可以执行不同的代码块。您可以使用条件根据变量,功能或表达式应用不同的样式。要创建条件,您可以使用@if@else if@else指令,然后使用条件和一个代码块。例如:

$theme: dark;

body {
  @if $theme == dark {
    background-color: #000;
    color: #fff;
  } @else if $theme == light {
    background-color: #fff;
    color: #000;
  } @else {
    background-color: #333;
    color: #ccc;
  }
}

循环

循环是在列表或地图中的每个元素中重复多次代码块的语句。要创建一个循环,您可以使用@for@each@while指令,然后使用变量,范围或条件和一个代码块。例如:

// For loop

@for $i from 1 through 5 {
  .col-#{$i} {
    width: $i * 20%;
  }
}

// Each loop

$colors: red, green, blue;

@each $color in $colors {
  .#{$color}-text {
    color: $color;
  }
}

// While loop

$i: 1;

@while $i < 10 {
  .item-#{$i} {
    margin-left: $i * 10px;
  }

  $i: $i + 1;
}

结论

scss是编写CSS的强大而表达的方法,可以节省您的时间和精力。

如果您有任何疑问/问题/想法,请随时在Discord上添加我:waradu