sass学习笔记(1.0)

1.使用变量

sass可以像声明变量那样进行使用,这样同样的样式,就可以使用相同的变量来提高复用。

语法为:$ 变量名

在界面中也可以正常的显示

 当然了,变量之间也可以相互引用,比如下面

div{$_color: #d45387;$BgColor: $_color;background-color: $BgColor;
}

在sass中,变量名使用中划线和下划线是一样的

 2.嵌套CSS规则

这也是sass最常用的用法之一,就是不用像以前那样逐级书写css样式了,如果存在层级关系,直接嵌套就可以。

div{$Pink_color: pink;$BgColor: $Pink-color;background-color: $BgColor;h1{color:$color;}
}

以上的嵌套写法等价于

div{$Pink_color: pink;$BgColor: $Pink-color;background-color: $BgColor;}
div h1{color:$color;}

3.使用父选择器标识符&

多用于伪类选择器,比如:hover,这样需要将制定的元素再写一遍,我们就可以直接使用&替代即可

div{$Pink_color: pink;$BgColor: $Pink-color;background-color: $BgColor;height: 200px;width: 200px;h1{color:$color;}&:hover{h1{color:blue;}}
}

这里的&:hover就是div:hover

 

4.群组选择器的嵌套

 <ul><li class="liOne">1</li><li class="liTwo">2</li><li>3</li><li class="liThree">4</li><li>5</li></ul><style scoped lang="scss">
div{$Pink_color: pink;$BgColor: $Pink-color;background-color: $BgColor;height: 200px;width: 200px;h1{color:$color;}&:hover{h1{color:blue;}}
}
ul{.liOne,.liTwo,.liThree{color: aqua;}
}</style>

这样ul下,指定的三个类名下的设置为统一样式

 4.子组合选择器和同层组合选择器:>,+,~

<div class="outBox"><div class="divOne">1</div><div class="divTwo">2</div><div><div class="divOne">3</div></div><div class="divThree"><div class="divOne">4</div></div><div>5</div></div>.outBox  .divOne{color: red;
}

如果直接这样设置样式的话,.outBox下的所有.divOne都会变成红色

 

如果使用子组合选择器>

.outBox > .divOne{color: red;
}

只会在直系后代中设置对应的样式

 同层相邻组合选择器+

<template><div><h1>我是首页</h1></div><div class="outBox"><div class="divOne">1</div><div class="divTwo">2</div><div><div class="divOne">3</div></div><div class="divTwo"><div class="divOne">4</div></div><div>5</div></div>
</template><script setup lang="ts">
import {ref,reactive} from 'vue'</script><style scoped lang="scss">
div{$Pink_color: pink;$BgColor: $Pink-color;background-color: $BgColor;// height: 200px;// width: 200px;h1{color:$color;}&:hover{h1{color:blue;}}
}
// ul{
//     .liOne,.liTwo,.liThree{
//         color: aqua;
//     }
// }
.outBox{.divOne + .divTwo{color: purple;font-size: 26px;font-weight: 800;}}
</style>

 指divOne后面紧跟的兄弟节点divTwo才会进行样式设置,而同样类名的divTwo的4并没有进行样式设置。

如果想要4也设置同样的样式,我们可以使用全体组合选择器~

.outBox{.divOne ~ .divTwo{color: purple;font-size: 26px;font-weight: 800;}}

5.注释

sass的注释和普通css的注释也是不一样的,类似于js的注释,我们直接在vscode中使用快捷键ctrl+/就可以自定生成sass的注释

// ul{
//     .liOne,.liTwo,.liThree{
//         color: aqua;
//     }
// }

而普通的css的注释和HTML的注释类似: 

/* 这是一个CSS注释 *//*
这是一个
多行的
CSS注释*/

6.嵌套属性 

在sass中,属性同样也可以嵌套,比如border系列的样式,我们就可以简写成border:然后书写嵌套属性即可。

.outBox{height: 100vh;.divOne ~ .divTwo{width: 50px;height: 50px;text-align: center;line-height:50px;background-color: bisque;border:{radius:50%;color: #ccc;width:2px}// color: purple;// font-size: 26px;// font-weight: 800;}}

7.导入sass文件

使用@import导入规则,它在生成css文件是就把相关文件导入进来,在导入sass时,不需要指定导入文件的全名,就是可以省略后缀。

8.默认变量值

在sass中,类似与函数的默认参数,而sass样式也可以通过使用!default来设置默认的样式。比如:

#BGcolor:red  !default;

意思就是如果你自己定义了一个局部变量BGcolor,就是你可以使用自己定义的样式,如果没有改局部变量,那么当你使用这个样式时,默认就是红色。【通俗的将,你自己有,就用你自己的,你若是没有,就用我的】

9.嵌套导入

<template><div><h1>我是首页</h1></div><div class="outBox"><div class="divOne">1</div><div class="divTwo">2</div><div><div class="divOne">3</div></div><div class="divTwo"><div >4</div></div><div class="bgc">5</div></div>
</template><script setup lang="ts">
import {ref,reactive} from 'vue'</script><style scoped lang="scss">
div{$Pink_color: pink;$BgColor: $Pink-color;background-color: $BgColor;// height: 200px;// width: 200px;h1{color:$color;}&:hover{h1{color:blue;}}
}
// ul{
//     .liOne,.liTwo,.liThree{
//         color: aqua;
//     }
// }
.outBox{@import '../../styles/local-style';height: 100vh;.divOne ~ .divTwo{width: 50px;height: 50px;text-align: center;line-height:50px;background-color: bisque;border:{radius:50%;color: #ccc;width:2px}// color: purple;// font-size: 26px;// font-weight: 800;}}
</style>

 定义的_local_style.scss

可以看到,对应5的样式已经设置上去了。 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Word 拼写检查如何关闭?2 步轻松搞定

在日常进行文档编辑操作的过程中&#xff0c;拼写词语错误是比较常见的&#xff0c;特别是文档中包含大量文字的时候&#xff0c;一不小心就有可能输错&#xff0c;Word 当然有功能可以辅助我们发现这些问题&#xff0c;这就是 Word 拼写检查功能。 Word 拼写检查功能可以自动…

Spring Boot学习资源库:Java开发者的新篇章

2 相关技术简介 2.1Java技术 Java是一种非常常用的编程语言&#xff0c;在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中&#xff0c;Java的身影无处不在&#xff0c;并且拥有旺盛的生命力。Java的跨平台能力十分强大&#xff0c;只需一次编译&#xff0c;任…

Java基本数据类型转换

一、自动类型转换 1.基本介绍 当Java程序在进行赋值或者运算时&#xff0c;精度小的类型自动转换为精度大的数据类型&#xff0c;这个就是自动类型转换数据类型按精度&#xff08;容量&#xff09;大小进行排序为&#xff1a; ![在这里插入图片描述](https://i-blog.csdnimg.…

【第2章 开始学习C++】C++语句

文章目录 导语声明语句和变量赋值语句cout的新花样使用cin类简介 导语 C 程序是一组函数&#xff0c; 而每个函数又是一组语句。 C 有好几种语句&#xff0c;例如&#xff1a;声明语句创建变量&#xff0c; 赋值语句给该变量提供一个值。 声明语句和变量 计算机是一种精确的…

Java 的数据结构整理(整合版)

Java 的数据结构整理&#xff08;整合版&#xff09; 一、数据输入输出 https://www.runoob.com/java/java-scanner-class.html 这部分是为了预防 leetcode 刷习惯了&#xff0c;忘记怎么处理输入输出的问题 数据输入 Java的数据输入和 C 相比非常繁琐&#xff0c;因此大多…

zookeeper API使用——znode的CRUD

这应该是目录 一、创建连接1.1构造函数1.2创建连接(封装) 二、节点操作2.1创建节点create语法代码 2.2获取节点数据getData语法代码 2.3获取子节点getChildren语法代码 2.4修改节点的值setData语法代码 2.5删除delete语法代码 以下的代码只能作为基础的语法使用&#xff0c;为了…

LangChain: 大语言模型的新篇章

本文介绍了LangChain框架&#xff0c;它能够将大型语言模型与其他计算或知识来源相结合&#xff0c;从而实现功能更加强大的应用。接着&#xff0c;对LangChain的关键概念进行了详细说明&#xff0c;并基于该框架进行了一些案例尝试&#xff0c;旨在帮助读者更轻松地理解LangCh…

65 切面AOP

65 切面AOP 切面基础概念 AOP&#xff1a;Aspect Oriented Programming&#xff0c;面向切面编程。是通过预编译方式&#xff08;aspectj&#xff09;或者运行期动态代理&#xff08;Spring&#xff09;实现程序功能的统一维护的技术。 面试问题&#xff1a; Spring的两大核心…

【VUE】双端比较算法

假设我们有两个虚拟节点 oldVnode 和 newVnode&#xff0c;它们分别对应的DOM结构为&#xff1a; 我们需要将 oldVnode 更新为 newVnode&#xff0c;这时就可以使用双端比较算法了。算法本质上是将新旧节点进行一次交叉比较&#xff0c;尽可能地重复使用已有的节点来达到最小…

懒人笔记-QT程序UOS打包篇

懒人笔记-uos打包篇 前言1、deploy2、组织打包目录2.1 控制文件2.1.1 control的内容&#xff1a;2.1.2 postinst的内容&#xff1a;2.1.3 postrm的内容&#xff1a; 2.2 执行程序2.3 开机自启&#xff08;可选项&#xff09; 3、输出deb安装包4、服务卸载4.1 服务卸载4.2 程序按…

Web自动化Demo-PHP+Selenium

1.新建工程 打开PhpStorm新建工程如下&#xff1a; 打开终端输入如下命令安装selenium&#xff1a; composer require php-webdriver/webdriver 2.编写代码 <?php require vendor/autoload.php;use Facebook\WebDriver\Remote\RemoteWebDriver; use Facebook\WebDriver…

BMS-绝缘检测

一、为什么要进行绝缘检测 前言&#xff1a;BMS绝缘检测是指对电池组与车体之间的绝缘状态进行实时监测和检测。为了确保电池组与车体之间的绝缘性能良好&#xff0c;防止漏电和短路等安全隐患&#xff0c;BMS绝缘检测系统能够及时发现绝缘故障&#xff0c;并采取相应的措施进…

计算机毕业设计Python深度学习游戏推荐系统 Django PySpark游戏可视化 游戏数据分析 游戏爬虫 Scrapy 机器学习 人工智能 大数据毕设

主要功能如下&#xff1a; &#xff08;1&#xff09;用户管理模块&#xff1a;用户能够注册、登录及修改个人信息&#xff0c;查看热门游戏及攻略信息。 &#xff08;2&#xff09;数据采集与处理模块&#xff1a;主要通过Python编程&#xff0c;爬取Tap Tap社区中游戏热门榜…

python发送邮件带附件:配置全指南与步骤?

python发送邮件带附件教程&#xff1f;python如何发邮件带附件&#xff1f; 无论是工作报告、项目文档还是个人通知&#xff0c;邮件都能快速传递信息。而当这些信息需要附带文件时&#xff0c;Python发送邮件带附件的功能就显得尤为重要。AokSend将详细介绍如何使用Python发送…

简易入门:使用Docke 部署一个tomcat服务

简易入门&#xff1a;使用Docke 部署一个tomcat服务 # 拉取 >docker pull tomcat:9.0# 后台运行容器&#xff0c;端口映射为8080. -p 宿主机端口:容器端口 >docker run -d --name tomcat-c-01 -p 8080:8080 tomcat:9.0# 查看容器id >docker ps CONTAINER ID IMAG…

大数据毕业设计选题推荐-王者荣耀战队数据分析-Python数据可视化-Hive-Hadoop-Spark

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

图解 微信开发者工具 小程序源码 调试、断点标记方法 , 微信小程序调试器,真机调试断点调试方法,小程序网络API请求调试方法 总结

在我们使用微信开发者工具进行微信小程序开发的时候&#xff0c;在这个微信开发者工具的代码编辑框里面我们是无法像使用vscode, idea等IDE工具时那样直接对代码打断点进行调试&#xff0c; 原因是小程序实际上他就是一个web浏览器应用的包装, 在其内部使用的还是类似chrome的…

Mysql数据库安装与C++配置

本文档旨在为需要安装和配置MySQL 8.3、MySQL Workbench以及C Connector的用户提供详细的步骤指导。在安装过程中&#xff0c;可能会遇到一些常见问题&#xff0c;如DLL文件缺失等&#xff0c;本指南也会提供相应的解决办法。 1.安装Mysql8.3 安装Mysql有很多教程&#xff0c…

10.MySql全局参数优化

从上图可以看出SQL及索引的优化效果是最好的&#xff0c;而且成本最低&#xff0c;所以工作中我们要在这块花更多时间。 一、全局参数 配置文件my.ini(windows)或my.cnf(mac)的全局参数&#xff1a; 假设服务器配置为&#xff1a; CPU&#xff1a;32核 内存&#xff1a;64G…

《Linux运维总结:基于ARM64+X86_64架构CPU使用docker-compose一键离线部署mongodb 7.0.14容器版分片集群》

总结&#xff1a;整理不易&#xff0c;如果对你有帮助&#xff0c;可否点赞关注一下&#xff1f; 更多详细内容请参考&#xff1a;《Linux运维篇&#xff1a;Linux系统运维指南》 一、部署背景 由于业务系统的特殊性&#xff0c;我们需要面向不通的客户安装我们的业务系统&…