美文网首页
css自定义变量

css自定义变量

作者: 梧桐芊雨 | 来源:发表于2021-02-18 23:11 被阅读0次

css是可以支持变量,且所有主流浏览器都支持。css变量又称"css自定义属性",css的变量声明是以“--”前缀,而前缀是"$"或"@"被预处理器sass或less占用,所以,css以"--"开头可以避免与预处理器产生冲突,

  1. css的变量名是区分大小写的,--primary-size和--Primary-Size是完全不同的。

2.属性名可以包含数字,字母,以及下划线或者短横线,也可以是中文,日文或者韩文,但不能是属性名或数字开头,不能包含$,[,^,(,%等字符。

3.变量--primary只能用属性值,不能用作属性名

.foo {
  --primary: margin-top; /* 无效 */
  var(--primary): 2px;
}

4.数字和单位直接写一起需使用calc()函数

--gap: 20;
  margin-top: calc(var(--gap) * 1px);

 /**错误的方式**/
--font-size:10px *3;
--sum:'10px';/*不能带字符串,否则失效*/
 padding-top:var(--sum)

/**正确的方式**/
--font-size:calc(10px *3);
--sum:10px;
 padding-top:var(--sum)

拓展
cal()函数支持 "+", "-", "*", "/" 运算,需要注意的是,运算符前后都需要保留一个空格,例如:width: calc(100% - 10px);
任何长度值都可以使用calc()函数进行计算;
calc()函数使用标准的数学运算优先级规则;

5.变量的值是字符串时,可以直接拼接

:root{
  --screen-category: 'category'  //变量值是字符串
}
body:after {
  content: '--screen-category: 'var(--screen-category);  // 直接拼接
}

6.var()函数第二个参数是设置默认值,若该变量不存在,则使用此默认值

color: var(--foo, #7F583F);

7.css变量可以在任意选择器中使用包括在标签元素style及@media中

/**style*/
        .wrapper .card {
            animation: animate 15s linear infinite;
            animation-delay: calc(3s * var(--delay));
        }
 <div class="card" style="--delay:1"></div>

/**@media*/

:root{
    --column-size:4;
}

@media screen and (min-width: 1200px) {
    :root{
        --column-size: 3;
    }
}

若想了解更深可看大神文章:
https://www.ruanyifeng.com/blog/2017/05/css-variables.html
https://www.zhangxinxu.com/wordpress/2016/11/css-css3-variables-var/

相关文章

  • 小程序中使用全局样式

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

  • css自定义变量

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

  • js中如何实现动态控制css值的变化

    方案1:插入style文件 方案2:使用css自定义变量

  • SASS入门教程及用法指南

    作为前端开发人员,你肯定对css很熟悉,但是你知道css可以自定义吗?大家都知道,js中可以自定义变量,css仅仅...

  • CSS variables变量

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

  • CSS知识积累

    1、自定义变量var css现在支持自定义变量了,有了这个特性做主题功能就方便多了html结构 基础用法:var(...

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

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

  • Vue前端换肤

    本文采取 CSS自定义变量 实现 使用 document.body.style.setProperty('--bg...

  • CSS变量

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

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

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

网友评论

      本文标题:css自定义变量

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