sass: 变量与mixin

2024-08-20 16:58
文章标签 变量 sass mixin

本文主要是介绍sass: 变量与mixin,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在css中使用模块,过多的css文件再加会产生很多http请求,影响用户体验。但是在sass中可以解决该问题。

功能模块的命名

_layout.scss
_variables.scss

引入功能的scss的命名
index.scss
other.scss

引入模块: 把每个功能模块独立成一个文件,引入到功能的scss,再使用sass工具打包成css文件

        @import "模块名字"
@import "_layout.scss";

注释: 在scss中可以使用两种注释,一种可编译到css文件中,一种删除不编译到css文件中

/**/ 可以编译
// 删除不编译

变量: 使用$+name: 值

全局变量:可以在全局使用

        /* !default 遇到相同变量时不使用 没有遇到才使用 */
$error-color: #ccc !default;


局部变量:只能在局部使用

        .alert-error {$text_color: #ddd;background-color: $error-color;color: $text_color;text-shadow: 0 0 2px darken($text_color, 40%)
}

Mixins语法: 使用@mixin+name 定义代码块,使用@include+name引入代码块

代码复用

        @mixin alert-text {background-color: #f00;color: white;font-variant: small-caps;
}
.error-text {@include alert-text;
}
.has-error:after {@include alert-text;display: inline-block;content: attr(data-error);
}

Mixins传参: 可以传参数

        @mixin alert-text($color) {background-color: $color;color: white;font-variant: small-caps;
}
.error-text {@include alert-text(blue);
}
.has-error:after {@include alert-text(red);display: inline-block;content: attr(data-error);
}

Mixins默认传参

        @mixin alert-text($color: pink) {background-color: $color;color: white;font-variant: small-caps;
}
.error-text {@include alert-text;
}
.has-error:after {@include alert-text(red);display: inline-block;content: attr(data-error);
}

多个传参

        @mixin alert-text($color1: pink, $color2: pink) {background-color: $color1;color: $color2;font-variant: small-caps;
}
.error-text {@include alert-text(blue);
}
.has-error:after {@include alert-text($color2: black);display: inline-block;content: attr(data-error);
}

在参数中传null值表示删除该属性

        @mixin alert-text($color1: pink, $color2: pink) {background-color: $color1;color: $color2;font-variant: small-caps;
}
.error-text {@include alert-text(null);
}
.has-error:after {@include alert-text($color2: null);display: inline-block;content: attr(data-error);
}

传一个块: 块中的为私有选择器

        @mixin foo($color) {color: $color;.inner {@content}
}
.btn {@include foo(#c69) {color: red;// 块中的为私有选择器}
}
.btn {@include foo(#ccd)
}

结果为

        .btn {color: #c69;
}
.btn .inner {
/* 块中的东西 */color: red;
}.btn {color: #ccd;
}

这篇关于sass: 变量与mixin的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1090645

相关文章

Spring Boot中的路径变量示例详解

《SpringBoot中的路径变量示例详解》SpringBoot中PathVariable通过@PathVariable注解实现URL参数与方法参数绑定,支持多参数接收、类型转换、可选参数、默认值及... 目录一. 基本用法与参数映射1.路径定义2.参数绑定&nhttp://www.chinasem.cnbs

c++ 类成员变量默认初始值的实现

《c++类成员变量默认初始值的实现》本文主要介绍了c++类成员变量默认初始值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录C++类成员变量初始化c++类的变量的初始化在C++中,如果使用类成员变量时未给定其初始值,那么它将被

Python变量与数据类型全解析(最新整理)

《Python变量与数据类型全解析(最新整理)》文章介绍Python变量作为数据载体,命名需遵循字母数字下划线规则,不可数字开头,大小写敏感,避免关键字,本文给大家介绍Python变量与数据类型全解析... 目录1、变量变量命名规范python数据类型1、基本数据类型数值类型(Number):布尔类型(bo

一文全面详解Python变量作用域

《一文全面详解Python变量作用域》变量作用域是Python中非常重要的概念,它决定了在哪里可以访问变量,下面我将用通俗易懂的方式,结合代码示例和图表,带你全面了解Python变量作用域,需要的朋友... 目录一、什么是变量作用域?二、python的四种作用域作用域查找顺序图示三、各作用域详解1. 局部作

java变量内存中存储的使用方式

《java变量内存中存储的使用方式》:本文主要介绍java变量内存中存储的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、变量的定义3、 变量的类型4、 变量的作用域5、 内存中的存储方式总结1、介绍在 Java 中,变量是用于存储程序中数据

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

java如何调用kettle设置变量和参数

《java如何调用kettle设置变量和参数》文章简要介绍了如何在Java中调用Kettle,并重点讨论了变量和参数的区别,以及在Java代码中如何正确设置和使用这些变量,避免覆盖Kettle中已设置... 目录Java调用kettle设置变量和参数java代码中变量会覆盖kettle里面设置的变量总结ja

Perl 特殊变量详解

《Perl特殊变量详解》Perl语言中包含了许多特殊变量,这些变量在Perl程序的执行过程中扮演着重要的角色,:本文主要介绍Perl特殊变量,需要的朋友可以参考下... perl 特殊变量Perl 语言中包含了许多特殊变量,这些变量在 Perl 程序的执行过程中扮演着重要的角色。特殊变量通常用于存储程序的

变量与命名

引言         在前两个课时中,我们已经了解了 Python 程序的基本结构,学习了如何正确地使用缩进来组织代码,并且知道了注释的重要性。现在我们将进一步深入到 Python 编程的核心——变量与命名。变量是我们存储数据的主要方式,而合理的命名则有助于提高代码的可读性和可维护性。 变量的概念与使用         在 Python 中,变量是一种用来存储数据值的标识符。创建变量很简单,

JS_变量

二、JS的变量 JS中的变量具有如下特征 1 弱类型变量,可以统一声明成var 2 var声明的变量可以再次声明 3 变量可以使用不同的数据类型多次赋值 4 JS的语句可以以; 结尾,也可以不用;结尾 5 变量标识符严格区分大小写 6 标识符的命名规则参照JAVA 7 如果使用了 一个没有声明的变量,那么运行时会报uncaught ReferenceError: *** is not de