您的位置:58编程 > Sass 备忘单

Sass 备忘单

2023-05-03 07:15 Sass教程

 Sass 备忘单

这是一个快速参考备忘单,列出了SASS最有用的功能

Sass 基础

介绍

  • 文档 (sass-lang.com)
  • 在 Y 分钟内学习 X (learnxinyminute.com)

变量

$defaultLinkColor: #46EAC2;

a {
  color: $defaultLinkColor;
}

字符串插值

$wk: -webkit-;

.rounded-box {
  #{$wk}border-radius: 4px;
}

注释



// Line comments

混合

@mixin heading-font {
    font-family: sans-serif;
    font-weight: bold;
}
h1 {
    @include heading-font;
}

请参阅:Mixins

嵌套

.markdown-body {
    a {
      color: blue;
      &:hover {
        color: red;
      }
    }
}

到属性

text: {
    // like text-align: center
    align: center;          
    // like text-transform: uppercase
    transform: uppercase; 
}

延伸

.button {
    ···
}
.push-button {
    @extend .button;
}

@import

@import "./other_sass_file";
@import "/code", "lists";

// Plain CSS @imports
@import "theme.css";
@import url(theme);

.sass.sass扩展名是可选的。

Sass 混合

参数

@mixin font-size($n) {
    font-size: $n * 1.2em;
}
body {
    @include font-size(2);
}

默认值

@mixin pad($n: 10px) {
    padding: $n;
}
body {
    @include pad(15px);
}

默认变量

$default-padding: 10px;

@mixin pad($n: $default-padding) {
    padding: $n;
}

body {
    @include pad(15px);
}

Sass 颜色函数

rgba

rgb(100, 120, 140)
rgba(100, 120, 140, .5)
rgba($color, .5)

混合

mix($a, $b, 10%)   // 10% a, 90% b

修改 HSLA

darken($color, 5%)
lighten($color, 5%)
saturate($color, 5%)
desaturate($color, 5%)
grayscale($color)
adjust-hue($color, 15deg)
complement($color)    // like adjust-hue(_, 180deg)
invert($color)
fade-in($color, .5)   // aka opacify()
fade-out($color, .5)  // aka transparentize()
rgba($color, .5)      // sets alpha to .5

获取单个值

HSLA

hue($color)         // 0deg..360deg
saturation($color)  // 0%..100%
lightness($color)   // 0%..100%
alpha($color)       // 0..1 (aka opacity())

RGB

red($color)         // 0..255
green($color)
blue($color)

请参阅:hue(), red()

调整

// Changes by fixed amounts
adjust-color($color, $blue: 5)
adjust-color($color, $lightness: -30%) // darken(_, 30%)
adjust-color($color, $alpha: -0.4)     // fade-out(_, .4)
adjust-color($color, $hue: 30deg)      // adjust-hue(_, 15deg)
// Changes via percentage
scale-color($color, $lightness: 50%)
// Changes one property completely
change-color($color, $hue: 180deg)
change-color($color, $blue: 250)

支持:$red, $green, $blue, $hue, $saturation, $lightness,$alpha

Sass 其他功能

字符串

unquote("hello")
quote(hello)
to-upper-case(hello)
to-lower-case(hello)
str-length(hello world)
str-slice(hello, 2, 5)     // "ello" - it"s 1-based, not 0-based
str-insert("abcd", "X", 1) // "Xabcd"

单位

unit(3em)        // "em"
unitless(100px)  // false

数值

floor(3.5)
ceil(3.5)
round(3.5)
abs(3.5)
min(1, 2, 3)
max(1, 2, 3)
percentage(.5)   // 50%
random(3)        // 0..3

杂项

variable-exists(red)    // checks for $red
mixin-exists(red-text)  // checks for @mixin red-text
function-exists(redify)
global-variable-exists(red)
selector-append(".menu", "li", "a")   // .menu li a
selector-nest(".menu", "&:hover li")  // .menu:hover li
selector-extend(...)
selector-parse(...)
selector-replace(...)
selector-unify(...)

Sass 特征检查

特征检查

feature-exists(global-variable-shadowing)

特征

  • 全局变量阴影
  • 扩展选择器伪类
  • 单位级别 3
  • 出错

Sass 循环

For 循环

@for $i from 1 through 4 {
    .item-#{$i} { left: 20px * $i; }
} 

Each 循环(简单)

$menu-items: home about contact;

@each $item in $menu-items {
    .photo-#{$item} {
      background: url("#{$item}.jpg");
    }
} 

Each 循环(嵌套)

$backgrounds: (home, "home.jpg"),
              (about, "about.jpg");

@each $id, $image in $backgrounds {
    .photo-#{$id} {
      background: url($image);
    }
}

While 循环

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

Sass 其他功能

条件句

@if $position == "left" {
     position: absolute;
     left: 0;
}
@else if $position == "right" {
     position: absolute;
     right: 0;
}
@else {
     position: static;
}

插值

.#{$klass} { ... }      // Class
call($function-name)    // Functions

@media #{$tablet}
font: #{$size}/#{$line-height}
url("#{$background}.jpg")

列表

$list: (a b c);

nth($list, 1)  // starts with 1
length($list)

@each $item in $list { ... }

映射

$map: (key1: value1, key2: value2, key3: value3);

map-get($map, key1)


阅读全文
以上是58编程为你收集整理的 Sass 备忘单全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 58编程 58biancheng.com 版权所有 联系我们
桂ICP备12005667号-32 Powered by CMS