Sass 常用语法


Sass官网入口 https://www.sass.hk/docs/
标题Sass 是一款强化 CSS 的辅助工具,它在 CSS 语法的基础上增加了变量 (variables)、嵌套 (nested rules)、混合 (mixins)、导入 (inline imports) 等高级功能,这些拓展令 CSS 更加强大与优雅。使用 Sass 以及 Sass 的样式库(如 Compass)有助于更好地组织管理样式文件,以及更高效地开发项目。

完全兼容 CSS3 在 CSS 基础上增加变量、嵌套 (nesting)、混合 (mixins) 等功能 通过函数进行颜色值与属性值的运算 提供控制指令 (control directives)等高级功能 自定义输出格式 Sass 自动缓存编译后的模板与 partials,这样做能够显著提升重新编译的速度,尤其在处理由 @import 导入多个子文件的大型项目时。 单独使用 Sass,缓存内容保存在 .sass-cache 文件夹中。在 Rails 和 Merb 项目中缓存文件保存在 tmp/sass-cache 文件夹中(可通过 :cache_location 修改路径)。禁用缓存可将 :cache 设为 false。

一、嵌套

// 层级嵌套, id 或 class 类名
#main{
    width: 100%;
    .container{
        font-size: 16px;
    }
    button{
        padding: 4px 6px;
        &:after{
            content: ".";
            display: block;
            height: 0;
            clear: both;
            visibility: hidden;
        }
    }
}

// 属性嵌套   font-family, font-size, font-weight; 三个属性的缩写 
.container{
    font:{
        family: fantasy;
        size: 30em;
        weight: bold;
    }
}

二、数据类型

/*
 * 1. 数字类型
 */
1, 2, 15, 20px

/*
 * 2. 字符串
 */
"fff", 'ccc', ddd

/*
 * 3. 颜色值
 */
blue, #efefed, rgba(0,0,0,0.6)

/*
 * 4. 布尔类型
 */
true, false

/*
 * 5. 空值
 */
null

/*
 * 6. 数组, 逗号隔开
 */
table-layout,table-layout-row, table-layout-col, table-layout-item 

/*
 * 7. 对象, map 类型  key:value
 */
(
    key1: value1,
    key2: value2,
    key3: value3
)

三、运算符

sass 支持对数字的加减乘除运算

$w: 20px;
$h: 10px;

p{
    font-size: $w / 2;
    height: round($h) * 2;
    padding: 5px + $h / 2;
}

四、插值语句(拼接字符)

#{ };

五、prefix

$prefix:"flex";

.#{$prefix}{
    &-layout{
        display:flex;
    }
    &-column{
        flex-direction: column;
    }
    &-center{
        justify-content: center;
        align-items: center;
    }
}

// 编译之后的结果
.flex{
    .flex-layout{
        display:flex;
    }
    .flex-column{
        flex-direction: column;
    }
    .flex-center{
        justify-content: center;
        align-items: center;
    }
}

六、循环控制

// each 循环
$array:(a,b,c,d);

@each $i in $array{
    .#{$i}{
        color:#ccc;
    }
}

// for 循环, 不依赖数组
@for $i from 1 through 5 {
    .item-#{$i} { 
        width: 2em * $i; 
    }
}

// while 循环
$i: 5;
@while $i > 0 {
    .item-#{$i} { 
        width: 2em * $i; 
    }
    $i:$i - 1; 
}

七、函数

@function v($px){
    @if $px == 0{
        @return 0;
    }
    @return $px / 1334 * 100vw;
}

@function h($px){
    @if $px == 0{
        @return 0;
    }
    @return $px / 750 * 100vh;
}

.container{
    width: v(520);
    height: h(340);
}

八、混合指令

通常用于定义可重复的样式, 避免了无意义的 class 名;

@mixin clearfix {
    display: inline-block;
    &:after {
        content: ".";
        display: block;
        height: 0;
        clear: both;
        visibility: hidden;
    }
    * html & { height: 1px }
}

.list{
    @include clearfix;
    padding: 4px 0;
}

// 带参数的mixin
@mixin box-shadow($shadows...){
    -moz-box-shadow: $shadows;
    -webkit-box-shadow: $shadows;
    box-shadow: $shadows;
}

.shadows{
    @include box-shadow(0px 4px 5px #666, 2px 6px 10px #999);
}

九、extend 继承

.clearfix {
    display: inline-block;
    &:after {
        content: ".";
        display: block;
        height: 0;
        clear: both;
        visibility: hidden;
    }
    * html & { height: 1px }
}

.container{
    padding: 5px 8px;
    @extend .clearfix;
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: sass系统设计架构是指可扩展样式表语言(SASS)的软件系统的设计和结构。SASS是一种CSS预处理器,可以使CSS更易于编写和维护。SASS系统设计架构的目标是提供一个可靠、可扩展和高效的SASS编译器和工具集。 SASS系统设计架构通常包括以下组件:SASS编译器、SASS解释器、SASS解析器、SASS语法分析器、SASS代码生成器、SASS模块库和SASS插件接口。这些组件共同协作,实现了SASS的高效编译和处理。 SASS系统设计架构的核心原则是可扩展性和可维护性。它应该能够轻松地扩展功能和集成插件,同时也应该易于维护和调试。为了实现这些原则,SASS系统设计架构通常采用模块化和分层的架构,以便组件之间的解耦和复用。 总之,SASS系统设计架构是一种高效、可扩展和可维护的软件系统设计,能够实现SASS的编译和处理,并提供了丰富的功能和插件接口。 ### 回答2: Sass(Syntactically Awesome Style Sheets)是一种层叠样式表语言的扩展,用于增强CSS的功能。在Sass系统设计架构中,有以下几个重要组成部分: 1. 编译器:Sass编译器是将Sass代码转换为CSS代码的工具。它负责将Sass预处理器语法翻译成CSS可识别的语法Sass编译器通常有多种选择,如Ruby编写的原生Sass编译器、libsass等。 2. 预处理器:Sass的预处理器可以提供一些额外的功能,如变量、嵌套、混合器等。这些功能可以简化CSS的编写和维护工作。预处理器还提供模块化的特性,可以划分CSS代码为多个文件,提高代码的可维护性。 3. 模块化:Sass支持模块化的设计方法。通过将Sass代码分割为多个模块,可以提高代码的可读性和可维护性。模块化的设计使得修改和扩展CSS变得更加容易,同时也可以避免命名冲突和代码重复的问题。 4. 变量与混合器:Sass允许使用变量和混合器来定义可重用的代码片段。变量可以存储颜色、字体、尺寸等常用的数值和属性值,而混合器可以定义一组CSS规则,可以在需要的地方进行调用。这样可以减少代码的冗余,提高开发效率。 5. 继承:Sass支持选择器的继承,可以通过@extend关键字实现。继承可以减少代码的编写量,同时也可以提高代码的可读性。通过选择器的继承,可以让多个选择器共享相同的CSS属性,从而简化样式的定义和修改。 总体而言,Sass系统设计架构的目标是提供一种灵活、可扩展、易于维护的CSS开发方式。通过预处理器、模块化、变量和混合器等特性,可以有效减少CSS代码的复杂性,提高开发效率和代码质量。 ### 回答3: Sass(层叠样式表)是一种帮助开发者更有效地编写CSS的预处理器。它主要通过为CSS添加一些高级功能和工具,以及减少代码重复和维护工作量,提高CSS的开发效率和可维护性。在Sass的系统设计架构中,有几个关键的概念和组件。 首先,在Sass系统设计架构中,有一种称为SCSSSassy CSS)的Sass语法,它基于CSS语法,提供了许多新的功能,如嵌套选择器、变量和混合器等。通过使用SCSS语法,开发者可以更清晰和简洁地组织和编写CSS代码。 其次,Sass系统设计架构中的另一个重要组件是变量。变量允许开发者在CSS中定义可重用的值,而不需要重复输入或复制。通过使用变量,开发者可以轻松地在整个项目中更改和调整颜色、字体、边距等属性值,提高代码的灵活性和维护性。 另外,Sass系统设计架构中还引入了一种称为混合器(Mixins)的功能。混合器允许开发者定义一组CSS样式,并在需要时重复使用。通过使用混合器,开发者可以将常见的样式块定义为可重用的代码块,大大减少了代码的冗余和重复编写。 除了以上概念和组件外,Sass系统设计架构还提供了其他一些功能,如嵌套选择器、导入和继承等。这些功能可以进一步简化和优化CSS代码的编写,提高代码的可读性和可维护性。 总的来说,Sass系统设计架构是为CSS开发者提供更高效、更可维护的CSS编写和管理方案的一种预处理器。它通过引入新的语法和组件,提供了更灵活和强大的功能,同时也简化了CSS代码的编写和维护的工作量。使用Sass,开发者可以更快地编写出高质量的CSS代码,并更容易地管理和更新样式。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值