CSS:变量函数var和自定义属性

news2025/7/4 10:52:06

文章目录

    • CSS变量
    • var()函数

CSS变量

CSS变量分为两部分:变量声明和变量使用。
变量的声明是由CSS自定义属性和对应的属性朱组成的,比如:

        :root {
            --custom-color: deepskyblue;
        }

在这段代码中,–custom-color是属于css的自定义属性名,deepskyblue是属性值。css自定义属性的命名限制比较少,但是也不能出现$、[、]、^、(、)、%等等特殊字符。

var()函数

var函数是使用我们自定义的属性,语法为:var(属性名)

CSS自定义的属性,可以在html标签内设置,比如:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>变量</title>
    <style>
    </style>
</head>

<body>
    <div style="--color: deepskyblue;">
        <p style="border: 10px solid var(--color);">5555</p>
    </div>
</body>

</html>

对应效果如图:
在这里插入图片描述
虽然是可以这样写,但是不建议,因为这样的写法,会导致代码混乱,可读性差,不利于维护。

CSS自定义属性也可以在JavaScript中定义,直接修改上面的代码:

    <div id="box" >
        <p style="border: 10px solid var(--color);">5555</p>
    </div>

JavaScript:

    <script>
        var box = document.getElementById("box")
        box.style.setProperty('--color', 'deepskyblue');
    </script>

效果如上图所示。

如果仅仅是设置样式,那么也不建议这样写。样式代码和JavaScript代码最好是分开,这样利于维护。

如果我们自定义的属性值,需要能够作为字符串展示在页面中,那该怎么写呢?
这就需要借助CSS的计数器来呈现自定义属性值了,代码如下:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>变量</title>
    <style>
        :root {
            --percent: 23;
        }
        #box::before{
            counter-reset: progress var(--percent);
            content: counter(progress);
        }
    </style>
</head>

<body>
    <div id="box">
        <p>5555</p>
    </div>
</body>

</html>

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

在一个应用中和使用大量相同的属性值,比如相同的颜色。这样我们就可以把相同的属性值,设置在自定义属性中,然后在对应的模块中直接通过var函数调用对应的数值即可。

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

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

相关文章

方法的使用

目录 1. 举例说明什么叫方法 2. 方法概念及使用 2.1 什么是方法(method) 1.2 方法定义 1.3 方法调用的执行过程 1.4 实参和形参的关系(重要) 2. 方法重载 2.1 为什么需要方法重载 2.3 方法签名 3. 递归 递归执行过程分析 1. 举例说明什么叫方法 我们利用面向对象的方…

2022年特色小镇行业研究报告

第一章 行业概况 特色小镇是在几平方公里土地上集聚特色产业、生产生活生态科技相融合、不同于行政建制镇和产业园区的创新创业平台。根据类型的不同&#xff0c;特色小镇可以分为三类&#xff0c;即产业类、社区类和旅游类。 产业类&#xff1a;通过招商引资吸引企业进入&…

门控循环单元(GRU)【动手学深度学习v2】

理论 候选隐藏状态。 圆圈 表示 按元素乘法。 这里面的 这个符号值得是 按元素相乘。 Rt理解为 和Ht 长度一样的一维向量。&#xff08;这么理解&#xff09; 这里如果Rt长的像0的话&#xff0c;那么乘出来的结果&#xff0c;就也像0。 要是像0 的话&#xff0c;相当于是说…

文件操作之文件系统

目录 一 磁盘 1 磁盘的物理结构 2 磁盘在物理结构上如何存储数据 CHS寻址 3 从物理结构到抽象结构 LBA寻址 4管理 二 块组 boot block super block inode table data blocks block bitmap GDT&#xff1a;Global Descriptor Table 块组描述符 三 文件名和目录之…

网课查题接口搭建

网课查题接口搭建 本平台优点&#xff1a; 多题库查题、独立后台、响应速度快、全网平台可查、功能最全&#xff01; 1.想要给自己的公众号获得查题接口&#xff0c;只需要两步&#xff01; 2.题库&#xff1a; 查题校园题库&#xff1a;查题校园题库后台&#xff08;点击跳…

字符串匹配算法(C/Java实现)

目录BF算法C语言实现Java实现KMP算法Java实现C语言实现next[]数组的优化BF算法 BF算法&#xff0c;即暴力(Brute Force)算法&#xff0c;是普通的模式匹配算法&#xff0c;BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配&#xff0c;若相等&#xff0c;…

R语言代做实现:混合正态分布EM最大期望估计法

全文链接&#xff1a;http://tecdat.cn/?p4815 原文出处&#xff1a;拓端数据部落公众号 因为近期在分析数据时用到了EM最大期望估计法这个算法&#xff0c;在参数估计中也用到的比较多。然而&#xff0c;发现国内在R软件上实现高斯混合分布的EM的实例并不多&#xff0c;大多…

Linux系统下实现开机自动加载驱动模块

在使用模块化加载驱动时&#xff0c;若系统内部存在同类别设备驱动&#xff0c;可能会出现无法加载我们添加的动态模块&#xff0c;比如Linux系统内置了CDC驱动&#xff0c;当我们使用兼容CDC和VCP驱动USB转串口芯片时&#xff0c;就会出现上电出现的是CDC串口&#xff0c;从而…

vue3 组件响应式v-model 失效,实践踩坑,一文搞懂组件响应式原理,对初学者友好

文章目录前情提要实战解析最后前情提要 vue3的v-model已经有了变化&#xff0c;假如你还不知道其中细节&#xff0c;看完这篇文章你就完全明白了&#xff0c;我以踩坑的场景来进行解析。起因是在我的项目中需要一个输入框组件&#xff0c;这个组件用来根据输入异步查询系统内已…

Python编程 基础数据类型

作者简介&#xff1a;一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言&#xff1a; 一.Python基础数据类型 1.为什么会有数据类型&#xff1f;&am…

公共云和私有云之间的区别

目前&#xff0c;越来越多的公司正在调整云服务来运行他们的应用程序。其实&#xff0c;有不同类型的云部署模型来满足客户的不同需求。云部署模型分为三种类型&#xff1a;公有云、私有云和混合云(公有云和私有云的混合)。在本文中&#xff0c;我们将对公共云和私有云之间的区…

【数据结构】单链表——单链表的定义及基本操作的实现(头插、尾插、头删、尾删、任意位置的插入与删除)

&#x1f9d1;‍&#x1f4bb;作者&#xff1a; 情话0.0 &#x1f4dd;专栏&#xff1a;《数据结构》 &#x1f466;个人简介&#xff1a;一名双非编程菜鸟&#xff0c;在这里分享自己的编程学习笔记&#xff0c;欢迎大家的指正与点赞&#xff0c;谢谢&#xff01; 单链表前言…

分享30个PHP源码,总有一款适合你

链接&#xff1a;https://pan.baidu.com/s/1dVbUn5YFMOze4J-K8sCAXQ?pwdeinu 提取码&#xff1a;einu 下面是文件的名字&#xff0c;我放了一些图片&#xff0c;文章里不是所有的图主要是放不下...&#xff0c;大家下载后可以看到。 Emlog for SAE 适合新浪sae使用的个人博客…

网关Gateway-快速上手

gateway网关官方文档: https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/# 网关的概念 网关作为流量的入口&#xff0c;常用的功能包括路由转发&#xff0c;权限校验&#xff0c;限流等。 Spring Cloud Gateway 是Spring Cloud官方推出的第二代网关…

Java:修改Jar的源码,并上传Nexus私有仓库,替换jar版本

第一步&#xff1a;修改jar包源代码 建一个全类名一模一样的类&#xff0c;然后把要修改的类的代码复制过去&#xff0c;然后编译生成class。然后拿编译后的class覆盖到jar中对应的位置 第二步&#xff1a;上传nexus jar文件&#xff0c;pom文件&#xff1a;在本地仓库中可以…

Linux操作系统~进程有哪些状态?

目录 R状态 S/D状态 什么是D状态 T状态 X状态 Z状态 什么是等待队列&#xff0c;什么是运行队列&#xff0c;什么是挂起/阻塞&#xff0c;什么叫唤醒进程 对比宏观上操作系统的三种状态 从操作系统宏观的概念上讲&#xff0c;进程有三种状态&#xff0c;就绪态&#xff0…

自动化测试和测试自动化你分的清楚吗?

目录 前言 两种自动化测试 为什么测试自动化对连续测试至关重要 使测试自动化成为现实 拥抱连续测试 总结 重点&#xff1a;配套学习资料和视频教学 前言 当我们谈论持续测试&#xff0c;以及持续交付和DevOps时&#xff0c;“自动化”一词就泛滥了。从根本上讲&#xf…

ES6之对象解构

对象和数组字面量是JavaScript中两种最常用的数据结构&#xff0c;由于JSON数据格式的普及&#xff0c;二者已经成为语言中最重要的一部分。在代码中&#xff0c;我们经常定义很多对象和数组&#xff0c;然后从去提取相关的信息片段&#xff0c;ES6为简化这种任务引入了新特性&…

猿代码浅谈MPI与OpenMP并行程序设计

一、什么是OpenMP&#xff1f; OpenMP是一种用于共享内存并行系统的多线程程序设计的库(Compiler Directive),特别适合于多核CPU上的并行程序开发设计。它支持的语言包括&#xff1a;C语言、C、Fortran;不过&#xff0c;用以上这些语言进行程序开发时&#xff0c;并非需要特别…

一文读懂qt界面设计(分裂器,布局,拉伸,各种属性设置)

可以先看看我这个文章&#xff1a;qt关于界面设计中的一些知识总结_我是标同学的博客-CSDN博客_qt 水平伸展 现在我们来正式开始讲解。 布局种类 qt中能称为布局管理器的有如下6个&#xff1a; 水平布局&#xff08;QHBoxLayout&#xff09;垂直布局&#xff08;QVBoxLayout…