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.mzph.cn/pingmian/56016.shtml

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

相关文章

用C++编写信息管理系统(歌单信息管理)

C语言是面向过程的编程语言&#xff0c;而C是面向对象的编程语言&#xff0c;在书写代码时风格有所不同&#xff08;也存在很多共性&#xff09;。 程序说明 本次系统程序使用的是C语言进行编写&#xff0c;主要考虑怎么实现面向对象的问题。 因为本次程序属于小型系统程序&…

多元线性回归:机器学习中的经典模型探讨

引言 多元线性回归是统计学和机器学习中广泛应用的一种回归分析方法。它通过分析多个自变量与因变量之间的关系&#xff0c;帮助我们理解和预测数据的行为。本文将深入探讨多元线性回归的理论背景、数学原理、模型构建、技术细节及其实际应用。 一、多元线性回归的背景与发展…

2024免费mac苹果电脑清理垃圾软件CleanMyMac X4.15.8

对于苹果电脑用户来说&#xff0c;设备上积累的垃圾文件可能会导致存储空间变得紧张&#xff0c;影响电脑的性能和使用体验。尤其是那些经常下载和安装新应用、编辑视频或处理大量照片的用户&#xff0c;更容易感受到存储空间的压力。面对这种情况&#xff0c;寻找一种有效的苹…

计组_中断响应的步骤

2024.10.13&#xff1a;计算机组成原理学习笔记 中断响应步骤 中断响应 &#xff08;中断响应的过程也称中断隐指令&#xff09;第一步&#xff1a;关中断第二步&#xff1a;保存断点第三步&#xff1a;引出中断服务程序中断源识别判优方法1&#xff1a;软件查询方法中断源识别…

74.【C语言】文件操作(1)

目录 1.进行文件操作的原因 销毁的示例 2.文件的类型 1.操作文件的步骤 2.文件名 3.查看文件路径的方法 方法1 方法2 方法3 4.数据文件的介绍 举例 ① ASCII码的形式(即字符形式)存储 ②二进制形式存储 理解"不加转换"的含义 1.进行文件操作的原因 为…

maven加载依赖成功但是引入import不了包,注解报错

突然就复现不出来了&#xff0c;奇了怪了&#xff0c;简单说一下吧&#xff0c;就是模块里引入了SpringBoot Test那个依赖然后&#xff0c; 这个地方是显示引入成功的&#xff0c;但是 这个包下没有&#xff0c;导致我SpringBootTest一直出不来&#xff0c;就找不到这个包下的注…

Qt事件——鼠标事件

通过label来显示各种事件 鼠标按下事件 //按下显示坐标 void MyLabel::mousePressEvent(QMouseEvent * ev) {int i ev->x();int j ev->y();//判断按下的鼠标键位if (ev->button() Qt::LeftButton) {qDebug() << "LeftButton";}else if (ev->bu…

Elasticsearch学习笔记(六)使用集群令牌将新加点加入集群

随着业务的增长&#xff0c;陆续会有新的节点需要加入集群。当我们在集群中的某个节点上使用命令生成令牌时会出现报错信息。 # 生成令牌 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node出现报错信息&#xff1a; Unable to create enrollment…

开源商城系统crmeb phpstudy安装配置

BOSS让我最快时间部署一套开源商场系统&#xff0c;今天就以crmeb为例。 快速部署在linux中我会首选docker&#xff0c;因为我要在windows中部署&#xff0c;本文就选用phpstudy集成环境做了。 什么是crmeb 我从官网摘点&#xff1a; CRMEB产品与服务 CRMEB通过将CRM&#x…

NFT Insider #151:The Sandbox 推出 Alpha 第4季;腾讯或将收购育碧

市场数据 加密艺术及收藏品新闻 Beeple 将于 11 月在南京德基美术馆举办个人首展 著名数字艺术家 Beeple 近日在X平台发布视频&#xff0c;宣布将于 2024 年 11 月 14 日在南京德基美术馆举办个人首次展览&#xff0c;名为《Beeple&#xff1a;来自合成未来的故事》。该展览将…

Django的请求与响应

Django的请求与响应 1、常见的请求2、常见的响应3、案例 1、常见的请求 函数的参数request是一个对象&#xff0c;封装了用户发送过来的所有请求相关数据。 get请求一般用来请求获取数据&#xff0c;get请求也可以传参到后台&#xff0c;但是传递的参数显示在地址栏。 post请求…

[自然语言处理]RNN

1 传统RNN模型与LSTM import torch import torch.nn as nntorch.manual_seed(6)# todo:基础RNN模型 def dem01():参数1&#xff1a;input_size 每个词的词向量维度&#xff08;输入层神经元的个数&#xff09;参数2&#xff1a;hidden_size 隐藏层神经元的个数参数3&#xff1a…

物联网:一种有能力重塑世界的技术

物联网&#xff08;IoT&#xff09;近年来对我们的日常生活产生了如此积极的影响&#xff0c;以至于即使是不懂技术的人也开始相信它所带来的便利以及敏锐的洞察力。 物联网是一场数字技术革命&#xff0c;其意义甚至比工业革命更为重大。物联网是仍处于起步阶段的第四次工业革…

前端开发笔记--html 黑马程序员2

文章目录 前端常用标签一、标题标签二、段落标签和换行标签和水平线标签三、文本格式化标签![请添加图片描述](https://i-blog.csdnimg.cn/direct/87583fa23fe04229b016912051f3fc45.png)四、盒子标签五、图像标签六、连接标签七、注释和特殊字符 八、表格标签的基本使用九、列…

自动化运维:提升效率、降低风险的利器

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

如何批量从sql语句中提取表名

简介 使用的卢易表 的提取表名功能&#xff0c;可以从sql语句中批量提取表名。采用纯文本sql语法分析&#xff0c;无需连接数据库&#xff0c;支持从含非sql语句的文件文件中提取&#xff0c;支持各类数据库sql语法。 特点 快&#xff1a;从成百个文件中提取上千个表名只需1…

离岗睡岗预警系统 值班室离岗识别系统Python 结合 OpenCV 库

在众多工作场景中&#xff0c;存在着一些特殊岗位&#xff0c;这些岗位对于人员的专注度和警觉性有着极高的要求。然而&#xff0c;离岗睡岗现象却时有发生&#xff0c;给工作的正常开展和安全保障带来了严重的威胁。本文将深入探讨特殊岗位离岗睡岗的危害&#xff0c;以及如何…

Ubuntu安装Apache教程

系统版本&#xff1a;Ubuntu版本 23.04 Ubuntu是一款功能强大且用户友好的操作系统&#xff0c;而Apache是一款广泛使用的Web服务器软件。在Ubuntu上安装Apache可以帮助用户搭建自己的网站或者进行Web开发。为大家介绍如何在Ubuntu上安装Apache&#xff0c;并提供详细的教程和操…

【HarmonyOS NEXT】实现页面水印功能

关键词&#xff1a;鸿蒙、水印、Watermark、页面、触摸问题 注&#xff1a;本期文章同样适用 OpenHarmony 的开发 在app开发过程中时常会出现敏感信息页面&#xff0c;为保护信息安全和及时的数据追踪&#xff0c;通常会采用给页面加水印的形式&#xff0c;那么本期文章会介绍…