学习笔记-原生CSS变量

在原生CSS中使用变量和JavaScript 通过定义JavaScript变量、使用JavaScript设置CSS样式、在CSS中使用CSS变量以及将JavaScript变量与CSS变量关联,我们可以轻松地在原生CSS中使用变量。为了使JavaScript变量与CSS变量关联起来,我们需要将JavaScript变量的值设置为CSS变量的值。现在,当页面加载时,JavaScript变量的值将被设置为CSS变量的值,并且这些CSS变量将被应用于相应的元素样式。在这篇文章中,我们将探讨如何在原生CSS中使用JavaScript变量,并提供相应的源代码示例。 阅读详情

原生CSS变量

不用Less、Sass等预处理插件,原生的CSS也支持变量,用于批量修改逻辑相关的DOM的Style的某一个属性值

  • 语法
  • 示例

语法

  • 定义变量
    与js一样,变量都是由作用域的,css变量的作用域就是DOM的层级关系,定义在某一选择器内,变量名称以–开头,值与普通属性值一样,类似’20px’ ‘red’
:root {
    --color: red
}

在文档的根元素的作用域范围内定义了名为–color的变量,值为red,在html元素包裹内的任意元素都可使用–color变量,变量是可以被继承的。同时多重变量申明,变量的作用域也受选择器优先级的影响。


        div {
            --color: red;
            background-color: var(--color);
            width: 200px;
            height: 200px;
        }
        
        .class1 {
            --color: black;
            background-color: var(--color);
            width: 100px;
            height: 100px;
        }
        
        #id1 {
            --color: green;
            background-color: var(--color);
            width: 50px;
            height: 50px;
        }
      <div>
        <span>div</span>
        <div class="class1">class1</div>
        <div id="id1">id1</div>
    </div>

这里写图片描述

  • 使用变量
    : 无单位符号 利用var计算
background-color: var(--color);

: 有单位符号

 --size: 20px;//有单位
 font-size:var(--size);//直接var
 --size: 20;//无单位
 font-size: calc(var(--size) * 1px);//calc  注意var(--size) * 1px
  • 修改变量
    元素的style属性是js中的对象,读取和修改对象的属性方法相同
  e.target.style.setProperty('--x', `${ x }px`)//设置--x
 let v= e.target.style.getProperty('--y')//读取--y
 

这里写图片描述

示例

  • 按钮颜色

这里写图片描述

  • 控制颜色和旋转

这里写图片描述

参考源码https://github.com/cumthyb/FrontEndFoundation/tree/master/CSS变量

ESP32-C3入门教程 环境篇③——VS Code IDE快速入门 文章目录一、安装Visual Studio Code二、安装扩展三、配置ESP-IDF 插件四、创建工程五、配置工程5.1 选择目标芯片5.2 项目配置六、编译工程七、固件分析七、固件下载八、串口日志九、单步调试 一、安装Visual Studio Code 下载并安装Visual Studio Code 二、安装扩展 左侧扩展 搜索espressif 点击安装 三、配置ESP-IDF 插件 按下F1按键 输入configure esp-idf extension EXPRESS,如果你 阅读详情

相关推荐

AI 赋能测试全生命周期:多 Agent 协同的自动化提效方案

本文提出了一种基于Coze平台的多Agent协同测试解决方案,旨在解决软件测试中PRD解析不清晰、测试点覆盖不全、用例编写效率低、代码生成耗时等痛点。通过PRD优化、测试点生成、测试用例生成和单元测试框架生成四个Agent的协同工作,结合Cursor工具实现从需求到代码的全链路自动化。以电商平台登录模块为例,展示了从模糊PRD到标准化测试用例和可执行Java单元测试代码的完整转化流程。该方案通过AI赋能显著提升测试效率,减少人工干预,实现测试覆盖率≥95%,为快速迭代的软件研发提供了高效的测试自动化支持。

QINJIEEE的博客 1101

css的原生变量&css的各种操作小技巧

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、原生css变量1、基础用法2、js定义css变量/行内定义变量注意二、css3的currentColor关键字三、通过dom自定义属性, 替换伪元素内容正常使用伪元素js替换伪元素内容总结 前言 记录日常css变量的一些使用技巧, 方便在自己忘记时,及时查阅. 一、原生css变量 1、基础用法 <body> <div class="test"></div> <div cla.

yun_master的博客 879

基于CANoe的车载以太网测试

以太网测试 CANoe

Yafet 4552

45个值得收藏的 CSS 形状(总结)

CSS能够生成各种形状。正方形和矩形很容易,因为它们是 web 的自然形状。添加宽度和高度,就得到了所需的精确大小的矩形。添加边框半径,你就可以把这个形状变成圆形,足够多的边框半径,你就可以把这些矩形变成圆形和椭圆形。 我们还可以使用 CSS 伪元素中的::before和::after,这为我们提供了向原始元素添加另外两个形状的可能性。通过巧妙地使用定位、转换和许多其他技巧,我们可以只用一个 HTML 元素在 CSS 中创建许多形状。 虽然我们现在大都使用字体图标或者svg图片,似乎使用 CSS ...

JNPF快速开发平台的博客 377

解放双手:用KUKA示教器白键一键触发复杂工艺,自定义你的快捷指令

本文详细介绍了如何利用KUKA示教器的工艺白键功能,通过自定义快捷指令一键触发复杂工艺,显著提升自动化产线效率。文章涵盖UserTech技术栈解析、KRL脚本封装、人机交互视觉工程及工业实战策略,帮助工程师实现机械臂操作的高阶优化。

weixin_30379531的博客 432

保姆级教程:用Anaconda+PyCharm搞定YOLOv8本地部署(附避坑指南)

本文提供了一份详细的YOLOv8本地部署指南,涵盖Anaconda环境配置、PyCharm集成到模型部署的全过程。特别针对国内开发者需求,整合了镜像加速和常见报错解决方案,帮助快速完成目标检测模型的本地部署与实战应用。

weixin_42528090的博客 433

更改主题色

最近就碰到面试官问我,如何有一个更改主题色的场景,我会如何实现?脑子里最先出现的就是修改css变量,根据用户选择或者系统主题进行更改。接下来根据这个业务场景,设计一个技术方案吧~

qq_44859233的博客 1093

ETAS工具导入Com Arxml修改步骤

通讯协议栈开发一般通过导入DBC实现,ETAS工具本身导入DBC也是生成arxml后执行cfggen,本文介绍直接导入客户提供的arxml文件,实现通讯协议栈的生成。通过Arxml导入相比于DBC来说,少了从DBC转为arxml的过程。而且arxml中能提供的信息也会更多。如果是DBC的话,很多信息(如PNC的映射,CANTP的配置等)都需要额外配置。不过还有连DBC都无法提供的,那就更麻烦了~

赞的博客 1541

【面试】对CSS预处理器的理解及与原生CSS的区别

CSS预处理器是一种编程语言,它允许开发者使用类似于编程的特性(如变量、函数和嵌套规则等)来编写CSS样式表。这种预处理器编写的样式表需要经过编译过程,将其转换为原生CSS文件,以供浏览器使用。CSS预处理器的历史可以追溯到2006年,当时Hampton Catlin创建了Sass(Syntactically Awesome Style Sheets)项目。随后,其他类似的工具也相继出现,如LESS和Stylus等。这些工具的出现为CSS开发者提供了更多选择和功能扩展。

有事儿私信。 1127

get_ccopt系列命令介绍

get_ccopt_property:用来获取cts阶段,clock tree上所有的参数信息,可以通过get_ccopt_property –help *获取所有参数。get_ccopt_skew_group_delay:用来获取skew group的相关信息,可以通过筛选出特定条件下skew_group的参数,如skew_group下latency最长是多少;get_ccopt_clock_tree_source_groups:获取clock tree的source group名字;

芯冰乐 281

Dify使用教程3:Dify创建工作流

Dify使用教程3:Dify创建工作流 接着,我们连接下一个节点:“LLM”填入上下文变量为:result。这时候知识库就添加成功了。添加新节点:结束节点。

拥抱具身智能,昇腾Ascend C 5129

【CSS】1603- 原生 CSS Custom Highlight 终于来了~

介绍一个比较前沿但是非常有用的新特性:一个浏览器原生支持的 CSS 文本高亮高亮功能,官方名称叫做 CSS Custom Highlight API[1],有了它,可以在不改变 dom 结构的情况下自定义任意文本的样式,例如image-20230210141449363再例如搜索词高亮image-20230210200730128还可以轻易实现代码高亮image-20230210200832167...

pingan8787 829

【Altium designer】如何添加过孔阵列

按下图1指示,执行【Tool】菜单栏下【Via Stitching/Shielding】选项卡中的【Add Stitching to Net...】选项 图1 “添加过孔阵列”选项 点击【Add Stitching to Net...】选项后,会跳出一个窗口,让我们设置过孔阵列的参数信息,如下图2所示。 图2 过孔阵列参数设置 过孔阵列区域:勾选该选项框,即可绘制多边形区域; 过孔内径与焊盘直径:比如内径 【Hole Size】设为12mil,焊盘直径【Diameter】设为24mil; .

夜半少年的博客 2万+

css 横线_原生CSS变量、CSS函数、CSS变量与JS通信学习笔记

这两天没事翻看CSS文档,发现了其中有意思的一个东西——CSS函数。有几个是熟悉的,可是下图画红线的几个函数,从来没见过。随便看看学习下,随着学习的深入,我又发现了CSS变量这个新奇的概念。之前提到CSS变量让我想到的是less和sass这些预处理器,原生CSS的还真没了解过,今天就一探究竟。笔记内容来源于网上文档学习之后再个人总结,所以先贴上文档链接来源为敬:http://www.ru...

weixin_40001309的博客 201

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

在原生CSS中使用变量

Hello 大家好,我是彼岸繁華????,一个想进大厂的大三学生,为了有一个完整的前端知识体系,现在我要从头开始学习、梳理、总结。 编写不易转载请获得允许 写在前面 在CSS中使用变量并不是一个稀罕事,早在2007年Sass的诞生,就可以通过预处理的方式去处理变量,相继的又出现了Less和Stylus预处理器。 原生CSS直到CSS3的推出,才出现了变量 (又称为自定义属性 )的概念,现在我们就来学习一下。 基本用法 原生CSS定义变量,变量名需要使用两个减号--开始,其值可以是任何有效的CSS值。定

一碗周 4524

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

CSS3原生变量var

一、变量是个好东西 在任何语言中,变量的有一点作用都是一样的,那就是可以降低维护成本,附带还有更高性能,文件更高压缩率的好处。 随着CSS预编译工具Sass/Less/Stylus的关注和逐渐流行,CSS工作组迅速跟进CSS变量的规范制定,并且,很多浏览器已经跟进,目前,在部分项目中已经可以直接使用了。 CSS变量var兼容性截图 Chrome/Firefox/Safari浏览器都是绿油油的,兼容...

巧克力很苦的小博客 3703

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

CSS 变量与原生动态主题实现

变量与原生动态主题实现

欢迎来到这里,希望文章能对你有所帮助 1190

CSS变量学习笔记详解,JS获取修改css变量

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 1、CSS变量是什么? CSS变量(也被称作自定义属性或者级联变量)是由CSS开发者自定义的,它包含的值可以在整个文档中重复使用。通过两根连词线( -- )声明CSS变量(如:--footer-color: blue;),由var()函数获取值(如:background-color:v...

wxingna的博客 8433

css原生、sass、less变量区别及使用

一般有接触到scss,less的都知道,动态样式语言。动态样式语言的精髓就在于其有了变量,其中的诸多功能都是建立在变量之上的,目前css原生也有了变量,但是个人认为使用的局限略大 命名方式: scss:$开头的即表示变量 less: @开头的即表示变量 原生css: --(以--开头,*代表变量名称) 例子: // sass $blue: blue; .box{ color: $blue; } // less @blue: blue; .box{ color: @b..

qq_41046662的博客 1397

原生css中声明变量

原生css中声明变量 如何申明变量 可以像定义任何css属性一样来申明变量,不同的是,变量名必须以--开头。如--primary-color: #6bc30d 如何使用变量 而要使用一个变量的值,需要使用 var() 函数,并将变量的名称作为参数传入。 如 color: var(--primary-color); var()函数 var()函数可以代替元素中任何属性中的值的任...

wzwzwz555的博客 997

原生CSS变量

声明的变量是有作用域的,比如是在html中声明的变量,那么该变量在html中的任何地方都可以使用这个变量,如果该变量在p标签中声明的,那么只能在p标签下使用这个变量。var() 函数有第二个参数,表示变量的默认值,如果该变量不存在(第一个参数),那么就使用这个默认值。变量声明的时候,变量名之前加上两根连词线(–)即可。css变量遵从 css优先级的原则 变量值会被覆盖。css中我们可以统一设置。

喵喵的博客 610

原生css变量

:root{ --color:red; --number:12; --size:50px; } #box{ --color:blue;//就近原则 width:300px; height: 100px; overflow-y: scroll; background:var(--color); font-size: calc(var(--number)*2px);...

坚持原创 160

关于原生 css 变量的那些事儿

在编写css时,我们熟知的Sass/Less/Stylus等预编译工具,里面包含了变量声明、定义函数等功能,大大降低了项目 css 的维护成本。 现在原生 css 同样也具备了变量声明、条件判断等功能,该功能发布已有两年之久,各大浏览器的兼容也非常良好。 1、变量声明 CSS中原生的变量定义语法是:--*,其中*表示我们的变量名称。 以"--"开头,后面可以是数字、字母、下划线、连字...

yun_hou的博客 415

聊聊原生 CSS 变量:让样式更灵活的“魔法”

CSS变量(自定义属性)是一种强大的样式管理工具,允许开发者定义可复用的样式值。通过在:root中定义全局变量(如--main-color)并使用var()引用,可实现样式集中管理,提高代码可维护性。其核心优势包括:简化主题切换(如暗黑模式)、支持JavaScript动态修改、语义化命名提升可读性等。CSS变量遵循作用域规则,支持响应式设计和动画交互,相比预处理器变量更灵活。虽然IE11不兼容,但现代浏览器支持良好。典型应用场景包括设计系统、动态主题和布局调整,能显著提升开发效率和样式一致性。

前端结城的博客 1547

了解CSS/CSS3原生变量var

在任何语言中,变量的有一点作用都是一样的,那就是可以降低维护成本,附带还有更高性能,文件更高压缩率的好处。随着CSS预编译工具Sass/Less/Stylus的关注和逐渐流行,CSS工作组迅速跟进CSS变量的规范制定,并且,很多浏览器已经跟进,目前,在部分项目中已经可以直接使用了。

taotaomin99的博客 855

CSS的强大之CSS中的变量

自定义属性的通俗叫法,就是根据我们的需求定义属性的名称和属性值,CSS一开始就不支持原生变量。所以大家开始选择SCSS,LESS等兼容的 CSS 扩展语言。不过庆幸的是CSS目前也已经支持变量。必须使用俩个减号(- -)开头,数字、字母、下划线、中划线都是可以的。但是他跟普通属性还是有一个根本区别,他必须用俩个用划线(减号)开头自定义属性可以大大的简化我们的样式代码,尤其是那些重复或者有规律的属性值,结合calc方法更是可以创造出很多很有意思的效果ie是不支持自定义属性的。

stc_ljc的博客 13万+
上一篇: 学习笔记-Canvas
下一篇: VSCode中Setting Sync设置
波帝伯爵
博客等级 码龄15年 24粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值