CSS_sass模块化、scss模块化

@import

1、运行时语法:

@import url('xxxxxx.css');
//	编译后
@import url('xxxxxx.css');

2、编译时语法:
编译后:生成的css文件就会包含common.scss里面的代码,自然可以使用common里面的css变量

//	common.scss
$color: red

@import "./common.scss"
.foo{
	color: $color
}
  • 混淆:需要通过import后面是否有url()来判断是编译时还是运行时。
  • 污染:容易造成污染,在一个项目中我们肯定会抽离很多个scss模块,模块里可能会定义不同的变量,这些变量极易导致名称冲突。比如上面引入两个scss文件,都定义了$color变量,那么后一个会覆盖前一个,并且不会报错。这个存在很大隐患。
  • 私有:不存在私有,没有导入 、导出。

@use

1、命名空间
使用@use导入的scss文件,具有命名空间,不论导入的文件层级有多深,默认就是一最后文件名为命名空间。该模块的所有成员都需要通过这个命名空间去访问。

//	common.scss
$color: red

@use "./common.scss"
.foo{
	color: common.$color
}

2、自定义命名空间
当多个文件名相同,且路径不同时,可以使用as自定义命名空间

//	common.scss
$color: red
//	a/common.scss
$color: #000

@use "./common.scss" as a
@use "./a/common.scss" as b
.foo{
	color: a.$color
}

//	得到foo的color值为red

3、全局导出
还用一种方式是 as * 这种代表将该scss文件里面所有成员全部全局导出,那么也就不存在命名空间了。(不太建议这种搞,最好还是用带有命名空间的方式)

@use "./common.scss" as *

4、私有变量
在变量$符号和名字之间加- 或者_ 都可以(本身下划线这种命名方式在前端就是表示内部使用、私有的)

//common.scss

$_n : 6;
//或者 
$-n : 6;

错误使用:

@use './common.scss' as a;
 
.foo{
	color : a.$_n;
}
//	如果在外部使用了这个私有变量  编译时会报错

.
.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java设计模式 _结构型模式_过滤器模式

一、过滤器模式 1、过滤器模式 过滤器模式(Filter Pattern)是这一种结构型设计模式。过滤器,顾名思义,就是对一组数据进行过滤,从而最终获取到我们预期的数据。 2、实现思路 (1)、定义过滤器的…

解决问题:Canal客户端覆盖服务端Subscribe,只有TRANSACTIONBEGIN和TRANSACTIONEND日志,没有ROWDATA日志的问题

一,背景 在整合canal和Spring时,本地使用canal的subscribe方法订阅了需要监听的表,但是获得只有transactionbegin和transactionend两种eventType的日志, 没有rowdata类型的日志,导致无法完成监听数据库数据更新的需求…

提示词优化的自动化探索:Automated Prompt Engineering

编者按: 作者在尝试教授母亲使用 LLM 完成工作任务时,意识到提示词的优化并不像想象中简单。提示词的自动优化对于经验并不丰富的提示词撰写者很有价值,他们没有足够的经验去调整和改进提供给模型的提示词,这引发了对自动化提示词…

C++—DAY2

定义一个矩形类Rec,包含私有属性length,width,有以下成员函数: void set length(int l);//设置长度 void set width(int w); //设置宽度 int get length(); //获取长度 int get_width(); //获取宽度 void show(); //输出…

可见水印去除算法简介

去水印技术简介 进入二十一世纪以来,随着互联网技术和电子技术的飞速发展和进步,电子设备比如智能手机、iPad、个人计算机和智能穿戴设备等的大规模普及使用,各种文字、图像、视频及音频等数据信息借助于互联网实现了人们之间远距离的信息传…

kernel32.dll文件丢失的原因以及相对应的解决办法分享

kernel32.dll丢失是电脑中一个重要的文件,其实想要修复kernel32.dll文件的方法比较简单,今天就和大家说说如何去修复kernel32.dll文件。导致kernel32.dll文件丢失的原因又是什么?一起开看看吧。 kernel32.dll的作用 kernel32.dll是一个重要的…

IntelliJ IDEA 如何启用 JDK 预览特性

IntelliJ IDEA 也可以启用 JDK 的预览特性。 针对项目,选择项目结构。 配置是在语言结构上。 单击语言结构上的 SDK 默认,往下拉,就可以看到针对新版本的选项。 同时还可以看到那些版本是支持新特性预览的,那些版本是不支持新特…

Oracle 19c OCM考试难度如何?

许多人对 Oracle 19c OCM 的考试规则并不熟悉,本文将详细介绍考证所需条件以及具体要求,以帮助大家更顺利地完成考试流程。 首先,考生需具备相匹配的同级别 OCP 证书,如已获得 10g/11g/12c 证书者,则须先完成 083 升级…

UE5 GAS开发P41-43 永久效果,去除永久效果,伤害区域,EnumClass,开始重叠与结束重叠事件

这一部分学习了怎么创建一个伤害性的地形(火焰地形,毒沼泽等都可以用这个方式创建) AuraEffectActor.h // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include "GameplayEffect.h&q…

【navicat】oracle library is not loaded 问题复现和解决方案

问题原因:客户端oci版本安装错误,navicat需要64位的oci,但是使用32位的oci。 解决方案:官网下载64位oci进行配置。本次演示的解决多了splplus,其实不必要安装也能运行。 首先判断是否数据库已经打开 尝试使用splplus连接数据库 1…

GDPU 算法分析与设计 天码行空5

一、【实验目的】 (1)熟悉动态规划算法的基本思想. (2)理解动态规划算法中子问题的划分和递推方程设计的基本方法. (3)熟悉矩阵链乘法的基本思想并编程实现。 二、【实验内容】 输入:矩阵链Ai…j的输入为…

美国站群服务器的国际网络环境在全球的影响力?

美国站群服务器的国际网络环境在全球的影响力? 美国站群服务器如何通过其技术优势和网络基础设施,塑造国际网络环境并对全球产生影响力? 在当今数字化时代,美国站群服务器在国际网络环境中扮演着至关重要的角色。作为全球互联网发展的领导者之一&…

在Windows 11中NotePad3的安装和配置详细教程

📝 在Windows 11中NotePad3的安装和配置详细教程 文章目录 📝 在Windows 11中NotePad3的安装和配置详细教程摘要引言正文1. NotePad3简介 📘2. 安装前的准备工作 🛠️ 我已经给大家准备了一份安装包,微信搜索公众号&am…

K8S 部署和访问 Kubernetes 仪表板(Dashboard)

文章目录 部署 Dashboard UI浏览器访问登陆系统 Dashboard 是基于网页的 Kubernetes 用户界面。 你可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中,也可以对容器应用排错,还能管理集群资源。 你可以使用 Dashboard 获取运行在集群中的应用的概览…

推荐一款国内超级好用的低代码平台+商业开源低代码MES

一、低代码平台是什么? 低代码平台是一种应用程序,它为编程提供图形用户界面,从而以极快的速度开发代码,减少传统编程工作。 这些工具有助于快速开发代码,最大限度地减少手工编码的工作量。这些平台不仅有助于编码&a…

网络通信安全

一、网络通信安全基础 TCP/IP协议简介 TCP/IP体系结构、以太网、Internet地址、端口 TCP/IP协议简介如下:(from文心一言) TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议&#xff0…

基础环境:wsl2安装Ubuntu22.04 + miniconda

服务器相关信息: Thinkpad p1 gen5 64G 2T 3080ti,自带的有nvidia-smi显卡驱动。使用wsl2安装Ubuntu22.04 miniconda目标:安装gpu版本的PyTorch2.1.2(torch2.1.2/cu117 torchvision0.16.2/cu117) 处理器 12th Gen I…

【Linux-进程状态】

文章目录 1.进程状态1.运行状态2.阻塞状态3.挂起 2.Linux系统中的进程状态1.前台进程和后台进程深度睡眠 2.停止状态3.僵尸状态和死亡状态(孤儿进程) 1.进程状态 想要理解进程状态,我们要先看看课本中的进程有哪些状态。 进程状态用大白话说…

云渲染一张图多少钱

使用云渲染渲染一张效果图的价格没法确定多少钱一张,云渲染一张图的价格会受到多个因素的影响,如云渲染平台的定价策略、所选的渲染配置、优惠政策以及你提交的场景任务等。因此,无法给出确切的单一价格。 不同的云渲染平台会有不同的定价模…

《苍穹外卖》Day11部分知识点记录(数据统计——图像报表)

一、Apache ECharts 介绍 Apache ECharts是一款基于javascript的数据可视化图标库,提供直观、生动、可交互、可个性化定制的数据可视化图表。 官网地址:https://echarts.apache.org/zh/index.html 效果展示 柱形图饼图折线图 入门案例 1. 在 echart…