当前位置: 首页 > news >正文

【CSS】变量的声明与使用

  • 原生变量
  • root 伪类

原生变量

CSS中我们可以统一设置变量方便页面维护变量声明的时候,自定义样式变量名之前加上两根连词线 " – " 即可,使用 var() 来引用。声明的变量是有作用域的 ( 比如是在html中声明的变量,那么该变量在html中的任何地方都可以使用这个变量,如果该变量在h2标签中声明的,那么只能在h2标签下使用这个变量它的值)

声明

body {--yanse: #f700ff;--kuandu: 30px;--gao: 50px;
}
/*yanse 与 kuandu 与 gao 是变量名称,它们的值分别是 #f700ff 和 30px 和 50px变量大小写敏感、变量名等这些参考 js变量名规则,而变量名中存储的值的书写规则仍然采用 css的规则如: --x: 50px 30px   而不是   --x: '50px 30px'
*/

使用
var() 函数是用来读取变量

div{background-color: var(--yanse);width: var(--kuandu);height: var(--gao);
}

var() 函数有第二个参数,表示变量的默认值,如果该变量不存在(第一个参数),那么就使用这个默认值。并且第一个参数后面的全部算第二个参数,写多个第二个参数语法也会提示报错

div{background-color: var(--yanse, #ffea00);width: var(--kuandu,50px);height: var(--gao,70px);
}

var() 函数也可作为其它变量的值,但也仅作为其它变量的值使用

html{--main-color: red;--div-text-color: var(--main-color);/* 无效 */var(--main-color): green;
}

作用域
CSS 变量遵从 CSS 优先级的原则,变量值可能会被覆盖

<style>
html {--color: blue;
}
h1 {--color: green;
}
.h1 {--color: yellow;
}
#h1 {--color: red;--div: #a2ffe2
}
* {color: var(--color); /* 在不同作用域中声明同一个变量,只生效自己作用域中的变量值,且遵从优先级原则 */
}
div{color: var(--div); /* 无法使用 #h1 标签作用域中声明的变量 */
}
</style>
<h2>蓝色</h2>
<h1>绿色</h1>
<h1 class="h1">黄色</h1>
<h1 id="h1">红色</h1>
<div>我会是什么颜色(蓝色)</div>

效果:
在这里插入图片描述

root 伪类

这个 CSS伪类 :root 匹配文档树的根元素,表示 <html> 被选中,除了优先级更高之外,与 html 选择器相同

语法

<style>/* 选中文档的根元素(HTML 中的 <html>) */:root {background: yellow;}
</style>

效果:
在这里插入图片描述使用

只要当前页面引用了 :root 所在的样式文件,都可以使用 var() 来引用

<style>:root{--opc: 0.9;--bgc: 72;--width: 200px;--height: 100px;}div{/* var() 函数可以代替元素中任何属性中的值的任何部分,var() 函数不能作为属性名、选择器或者其它除了属性值之外的值 */background-color: rgba(0, var(--bgc), 243, var(--opc));width: var(--width);height: var(--height);}
</style>
<div></div>

效果:

相关文章:

【CSS】变量的声明与使用

原生变量root 伪类 原生变量 CSS中我们可以统一设置变量方便页面维护。变量声明的时候&#xff0c;自定义样式变量名之前加上两根连词线 " – " 即可&#xff0c;使用 var() 来引用。声明的变量是有作用域的 ( 比如是在html中声明的变量&#xff0c;那么该变量在html…...

【数学分析笔记】第3章第4节闭区间上的连续函数(1)

3. 函数极限与连续函数 3.4 闭区间上的连续函数 3.4.1 有界性定理 【定理3.4.1】 f ( x ) f(x) f(x)在闭区间 [ a , b ] [a,b] [a,b]上连续&#xff0c;则 f ( x ) f(x) f(x)在闭区间 [ a , b ] [a,b] [a,b]上有界。 【证】用反证法&#xff0c;假设 f ( x ) f(x) f(x)在 [ …...

Mybatis中sql数组为空判断

一、Mybatis xml中的sql通过if语句判定是否为空 <if test"arrays ! null"> </if>上述示例只能判断arrays数组不为null&#xff0c;那如果是个空数组呢 二、Mybatis xml中的sql通过if语句判定数组非空数组 <if test"arrays ! null and arrays.l…...

12.第二阶段x86游戏实战2-CE找基地址

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 本人写的内容纯属胡编乱造&#xff0c;全都是合成造假&#xff0c;仅仅只是为了娱乐&#xff0c;请不要…...

笔记整理—内核!启动!—linux应用编程、网络编程部分(3)文件共享与标准IO

文件共享是指同一个文件被多个独立的读写进行操作。同一个文件为同一个inode&#xff0c;同一个pathname也就是同一个静态文件。同时进行操作&#xff0c;打开一个文件未关闭又被另一个操作打开。文件共享的方式可以实现高效的大文件读写。 文件共享的三种方式&#xff1a;①同…...

plt常用函数介绍一

目录 前言plt.figure()plt.subplot()plt.subplots()plt.xticks()plt.xlim() 前言 Matplotlib是Python中的一个库&#xff0c;它是数字的-NumPy库的数学扩展。 Pyplot是Matplotlib模块的基于状态的接口。在Pyplot中可以使用各种图&#xff0c;例如线图&#xff0c;轮廓图&#…...

基于ExtendSim的 电子制造 仿真模型

说明&#xff1a; 此模型表示电路板制造设施。该过程有4个步骤&#xff1a; *焊料制备 *组件放置 *烤箱 *检查 详情&#xff1a; *烤箱的容量为10张卡&#xff0c;但如果烤箱循环开始时仅能处理5张卡&#xff0c;则最多只能处理5张。 *如果检查员发现问题&#xff0c;他们将修理…...

BGP 路由反射器

转载&#xff1a;BGP 路由反射器 / 实验介绍: / 原理概述 缺省情况下&#xff0c;路由器从它的一个 IBGP 对等体那里接收到的路由条目不会被该路由器再传递给其他IBGP对等体&#xff0c;这个原则称为BGP水平分割 原则&#xff0c;该原则的根本作用是防止 AS 内部的 BGP 路由…...

CSRF高级防御绕过

1&#xff09;回顾low级别做过csrf页面的密码重置&#xff0c;重复之前的操作&#xff0c;我们发现级别调整中级之后&#xff0c;报错如下 2&#xff09;检查源码 进入dvwa源码&#xff0c;查找到checktoken&#xff1a; 3&#xff09;在dvwa-csrf页面上&#xff0c;抓包 http…...

MySQL安装文档-Windows

文章目录 MySQL安装1. 安装2. 配置 MySQL安装 1. 安装 1). 双击官方下来的安装包文件 2). 根据安装提示进行安装 安装MySQL的相关组件&#xff0c;这个过程可能需要耗时几分钟&#xff0c;耐心等待。 输入MySQL中root用户的密码,一定记得记住该密码 2. 配置 安装好MySQL之后…...

html TAB、table生成

1. 代码 <!DOCTYPE html> <head> <meta charset"UTF-8"> <title>Dynamic Tabs with Table Data</title> <style> /* 简单的样式 */ .tab-content { display: none; border: 10px solid #ccc; padding: 30px; mar…...

2024!再见前端!

各位朋友大家晚上好&#xff0c;夜深了&#xff0c;睡不着&#xff0c;想想还是写一篇文章和大家说再见吧&#xff01; 自2014年入行前端以来&#xff0c;满打满算差不多整整十年了&#xff0c;这十年可以说是见证了中国整个互联网的起飞到全盛时期。这期间经历了电商、金融、…...

【源码+文档+调试讲解】人事管理系统设计与实现Python

摘 要 人事管理系统的目的是让使用者可以更方便的将人、设备和场景更立体的连接在一起。能让用户以更科幻的方式使用产品&#xff0c;体验高科技时代带给人们的方便&#xff0c;同时也能让用户体会到与以往常规产品不同的体验风格。 与安卓&#xff0c;iOS相比较起来&#xff…...

基于注意力机制的图表示学习:GRAPH-BERT模型

人工智能咨询培训老师叶梓 转载标明出处 图神经网络&#xff08;GNNs&#xff09;在处理图结构数据方面取得了显著的进展&#xff0c;但现有模型在深层结构中存在性能问题&#xff0c;如“悬挂动画问题”和“过平滑问题”。而且图数据内在的相互连接特性限制了大规模图输入的并…...

linux服务器安装原生的php环境

在CentOS上安装原生的PHP环境相对简单。下面是一个详细的步骤指南&#xff0c;适用于CentOS 7及更高版本。 ### 第一步&#xff1a;更新系统 首先&#xff0c;确保你的系统是最新的&#xff1a; sudo yum update -y ### 第二步&#xff1a;安装EPEL和Remi仓库 1. **安装EP…...

数电学习基础(逻辑门电路+)

1.逻辑门电路 1.1逻辑门电路的简介 1.1.1各种逻辑门电路的简介 基本概念 &#xff08;1&#xff09;实现基本逻辑运算和常用逻辑运算的电路称为逻辑门电路&#xff0c;简称门电路。逻辑门电路是组成各种数字电路的基本单元电路。将构成门电路的元器件制作一块半导体芯片上再…...

【艾思科蓝】Spring Boot实战:零基础打造你的Web应用新纪元

第七届人文教育与社会科学国际学术会议&#xff08;ICHESS 2024&#xff09;_艾思科蓝_学术一站式服务平台 更多学术会议请看&#xff1a;https://ais.cn/u/nuyAF3 目录 一、Spring Boot简介 1.1 Spring Boot的诞生背景 1.2 Spring Boot的核心特性 二、搭建开发环境 2.1…...

C++ 二叉树

1. 二叉搜索树 1.1 二叉搜索树概念 二叉搜索树又称二叉排序树&#xff0c;他或者是一棵空树&#xff0c;或者是具有以下性质的二叉树&#xff1a; ①若它的左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值 ②若它的右子树不为空&#xff0c;则右子树上所有节…...

初探IT世界:从基础到未来

初探IT世界&#xff1a;从基础到未来 1. 引言 随着科技的不断发展&#xff0c;IT&#xff08;信息技术&#xff09;已经成为全球经济的支柱之一。从软件开发、网络安全到数据分析和人工智能&#xff0c;IT 领域为我们的日常生活提供了许多不可或缺的技术服务。无论你是初学者…...

一区黏菌算法+双向深度学习+注意力机制!SMA-BiTCN-BiGRU-Attention黏菌算法优化双向时间卷积双向门控循环单元融合注意力机制多变量回归预测

一区黏菌算法双向深度学习注意力机制&#xff01;SMA-BiTCN-BiGRU-Attention黏菌算法优化双向时间卷积双向门控循环单元融合注意力机制多变量回归预测 目录 一区黏菌算法双向深度学习注意力机制&#xff01;SMA-BiTCN-BiGRU-Attention黏菌算法优化双向时间卷积双向门控循环单元…...

3步重塑:foobox-cn让您的foobar2000音乐体验焕然一新

3步重塑&#xff1a;foobox-cn让您的foobar2000音乐体验焕然一新 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn 还在为音乐播放器单调乏味的界面而苦恼吗&#xff1f;foobox-cn是专为foobar2000设计…...

InfluxDB新手必看:从安装到基本操作的完整指南(Windows版)

InfluxDB Windows实战指南&#xff1a;从零搭建时序数据库系统 时序数据正成为物联网、DevOps和业务监控领域的核心资产。想象一下&#xff0c;您需要每秒处理数千台设备的温度读数&#xff0c;或者分析应用程序每分钟的性能指标——传统关系型数据库在这种高频写入场景下往往…...

【飞控】QGroundControl与Mission Planner:如何根据项目需求选择最佳地面站

1. 两款地面站软件的核心定位差异 第一次接触无人机开发时&#xff0c;我也曾被QGroundControl和Mission Planner搞得晕头转向。这两款软件就像工具箱里的不同工具&#xff0c;关键是要知道什么时候该用哪一把。QGroundControl&#xff08;简称QGC&#xff09;给我的第一印象是…...

5分钟掌握B站音频提取:BilibiliDown开源工具的完整指南

5分钟掌握B站音频提取&#xff1a;BilibiliDown开源工具的完整指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mirrors/…...

LangChain实战避坑:我的RAG项目为什么召回结果不准?从向量化到混合检索的调优全记录

LangChain实战调优&#xff1a;从召回失败到精准检索的完整解决方案 当你的RAG系统在回答"夏天旅行推荐"时&#xff0c;返回了撒哈拉沙漠海滩和新疆火山口这类荒谬结果&#xff0c;问题可能出在文本分割、嵌入模型或混合检索策略上。本文将分享一套经过实战验证的调优…...

Syncthing中继服务器搭建全攻略:解决公共服务器速度慢的问题(附详细配置步骤)

Syncthing中继服务器搭建实战&#xff1a;突破公共服务器速度瓶颈 周末团队协作时&#xff0c;Syncthing公共中继服务器的龟速让人抓狂——跨国传输一个设计稿居然要两小时。这促使我探索自建中继服务器的方案&#xff0c;实测将同步速度提升8倍。本文将分享从服务器选型到客户…...

完整贡献指南:如何为endoflife.date添加新的产品支持信息

完整贡献指南&#xff1a;如何为endoflife.date添加新的产品支持信息 【免费下载链接】endoflife.date Informative site with EoL dates of everything 项目地址: https://gitcode.com/gh_mirrors/en/endoflife.date 你是否想为开源项目贡献自己的力量&#xff0c;但不…...

深入解析Triton Server的Backend插件机制与自定义开发实践

1. Triton Server与Backend插件机制概述 第一次接触Triton Server时&#xff0c;最让我困惑的就是它的Backend机制。简单来说&#xff0c;Triton就像一个万能插座&#xff0c;而各种Backend就是不同标准的插头。比如你用PyTorch训练了个模型&#xff0c;Triton的pytorch_backen…...

steam_api.dll是什么文件?全面解析其作用与安全修复方法

不少玩家在启动Steam游戏时&#xff0c;都曾被“无法启动此程序&#xff0c;因为计算机中丢失steam_api.dll”这样的提示拦在门外。看着这串乱码般的文件名&#xff0c;第一反应通常是&#xff1a;这是什么&#xff1f;为什么没了它游戏就不动了&#xff1f;别急&#xff0c;这…...

GitHub资源精准下载:DownGit实现90%带宽节省的技术方案

GitHub资源精准下载&#xff1a;DownGit实现90%带宽节省的技术方案 【免费下载链接】DownGit github 资源打包下载工具 项目地址: https://gitcode.com/gh_mirrors/dow/DownGit 在开源开发流程中&#xff0c;开发者经常需要从GitHub仓库获取特定文件夹资源。传统方式下&…...