美文网首页
使用 CSS 自定义属性(变量)

使用 CSS 自定义属性(变量)

作者: GuitarHusky | 来源:发表于2023-10-22 10:34 被阅读0次

CSS变量

1.CSS变量定义

定义一个CSS变量,需要使用 -- 开头,如:--custom-color: red;属性值是任何有效的CSS值(比如颜色值,px大小值,字体,字号等)
属性名是区分大小写敏感的,所以 --custom-color 和 --Custom-color 是两个不同的变量

/* 此处的变量只是在element下生效,该处element只是示例,可以是.className,#idName,body等 */
element {
  --custom-color: red;
}

如果需要定义一个全局可以访问到的CSS变量,则需要定义到根伪类 :root 下。这个变量是html下任何地方都可以访问使用的

:root {
  --custom-color: red;
}
2.CSS变量使用

使用CSS变量,需要使用 var() 函数,如:var(--custom-color) 或者 var(--custom-color, red)

:root {
  --custom-color: red;
}
.usebox {
  color: var(--custom-color);
}
3.CSS变量错误时备用值

某些情况下,我们可能需要给CSS变量设置一个备用值,当CSS变量没有设置值的时候,使用备用值。

.usebox {
  color: var(--custom-color,orange); /* 如果--custom-color没有值,则使用备用值orange */
}
4.CSS变量的有效性和值

因为CSS变量的值是任何有效的CSS值,所以CSS变量可以设置任何值,比如px大小值,字体,字号等。但是如果将颜色的变量值赋值给字号大小,那就导致了变量值无效。此时,浏览器就会使用默认值。

:root {
  --custom-color: red;
}
.usebox {
  font-size: var(--custom-color); /* 此处将颜色的变量值赋值给了字号,就导致了变量值无效,浏览器就会替换为默认值(如black) */
}
5.在JavaScript中获取和修改CSS变量
// 获取某个元素节点上的CSS变量
element.style.getPropertyValue('--custom-color');
document.getElementById('element').style.getPropertyValue('--custom-color');
// 获取任意DOM节点上的CSS变量
getComputedStyle(element).getPropertyValue("--custom-color");

// 修改某个Dom节点上的 CSS 变量
// 该操作可以用来实现主题色动态切换等
element.style.setProperty("--custom-color", orange);

参考资料:MDN-Using_CSS_custom_properties

相关文章

  • 小程序中使用全局样式

    css 自定义属性 1.语法 --*来声明变量名 var(--*)来使用变量 css 自定义属性使用中,var()...

  • CSS变量

    CSS变量是由CSS作者定义的实体,其中包含要在整个文档中重复使用的特定值。使用自定义的属性来设置变量名,并使用特...

  • CSS 变量

    CSS变量是由CSS作者定义的实体,其中包含要在整个文档中重复使用的特定值。使用自定义的属性来设置变量名,并使用特...

  • 基于element-plus button 源码分析造轮子

    前言 实现组件 button 新增功能和自定义UI换肤,使用 SCSS 变量和 CSS 自定义属性,参考 elem...

  • 【CSS练习】如何用纯 CSS 创作一个金属光泽 3D 按钮特效

    知识点 CSS变量由CSS作者定义的实体,其中包含要在整个文档中重复使用的特定值。使用自定义属性来设置变量名,并使...

  • css自定义变量

    css是可以支持变量,且所有主流浏览器都支持。css变量又称"css自定义属性",css的变量声明是以“--”前缀...

  • CCSS自定义属性怎样实现主题切换?

    在本教程中,我们将使用 CSS自定义属性(也称为CSS变量)来为简单的HTML页面实现主题切换。 我们将创建暗黑和...

  • CSS 的变量

    CSS 变量,又称为 CSS 自定义属性,是前端开发中比较新颖的知识点;但是由于很多前端开发人员专注于使用 UI ...

  • CSS variables变量

    官方的规范把它们称作作为级联变量的CSS自定义属性(CSS custom properties for casca...

  • web前端入门到实战:CSS box-sizing属性的正确用法

    CSS自定义属性(变量) CSS box-sizing属性允许我们在元素的总宽度和高度中包含填充和边框。 没有CS...

网友评论

      本文标题:使用 CSS 自定义属性(变量)

      本文链接:https://www.haomeiwen.com/subject/atbridtx.html