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

相关文章

变量与命名

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

JS_变量

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

使用条件变量实现线程同步:C++实战指南

使用条件变量实现线程同步:C++实战指南 在多线程编程中,线程同步是确保程序正确性和稳定性的关键。条件变量(condition variable)是一种强大的同步原语,用于在线程之间进行协调,避免数据竞争和死锁。本文将详细介绍如何在C++中使用条件变量实现线程同步,并提供完整的代码示例和详细的解释。 什么是条件变量? 条件变量是一种同步机制,允许线程在某个条件满足之前进入等待状态,并在条件满

axure之变量

一、设置我们的第一个变量 1、点击axure上方设置一个全局变量a = 3 2、加入按钮、文本框元件点击按钮文档框展示变量值。 交互选择【单击时】【设置文本】再点击函数。 点击插入变量和函数直接选择刚刚定义的全局变量,也可以直接手动写入函数(注意写入格式。) 这样点击按钮时就直接展示刚刚设置的全局变量3了。 2、更改变量值 在新建交互里点击设置变量值。 将a变量设置成等于10. 将新

shell脚本中变量中字符串替换的测试 /和//的区别

test_char=abbbcbbbf echo "bf:test_char = " $test_char test_char=${test_char/bbb/ddd} echo "af:test_char = " $test_char 输出: bf:test_char =  abbbcbbbf af:test_char =  adddcbbbf 只匹配第一个

eclipse中相同变量显示变色设置

java文件的设置"Window"-"preferences"-"Java"-"Editor"-"Mark Occurrences"复选框勾选 js文件的设  置"Window"-"preferences"-"web"-"javascript"-"Mark Occurrences"复选框勾选 。

Python学习1--变量和简单数据

经过这一段时间的学习,将Python相关的知识点记录下来,好记性不如烂笔头嘛。 本文主要参考了《Python编程从入门到实践》以及唐宇迪老师的教程《Python快速入门视频课程》,然后在博主http://www.cnblogs.com/liubinsh/p/6937409.html的基础上总结而成,特此感谢! 第二章 变量和简单数据类型 什么是变量 这里的message就是变量,

配置JAVA环境的时候,环境变量中administrator的用户变量和系统变量的区别?

迁移项目到新的服务器上: 需要Java运行环境时,经常要配置环境变量,如图所示 这里有administrator的用户变量(U),和系统变量(S), 那么,它们之间有什么区别呢? 简单的说,一个是当前用户使用,你用其它用户登陆,这个环境变量就不起作用了。 系统变量,是对所有用户都可使用的。 简单的说: 系统变量:不管以哪个用户名登陆到计算机都能使

不设临时变量交换a,b的值

常规的做法: int tmp = a; a = b; b = tmp; 不设中间变量的方法: a = a + b; b = a - b; a = a - b;

【C/C++】变量命名规范

在 C++ 中,为 bool 类型的变量命名时,通常遵循以下命名规范,以确保代码的可读性和一致性: 表示状态或条件: 使用 is 前缀表示某个状态或条件,例如 isReady、isValid。使用 has 前缀表示是否拥有某个属性,例如 hasData、hasError。使用 can 前缀表示是否具备某种能力,例如 canExecute、canRead。使用 should 前缀表示是否应该执行