zoukankan      html  css  js  c++  java
  • CSS变量--CSS和JavaScript的桥梁

    小思考:在data里面定义的变量能直接CSS里面使用吗?

    解答:当然不能直接使用,但是可以通过 :style="{ dataName }"的形式绑定到元素上。但是我们不推荐把样式写在style属性里;具体有如下两个原因:

    1.伪元素的使用 如果直接使用:style我们无法设置伪元素的样式;

    2. 当组件中的一个状态被几十个地方用到时,那么你可能需要绑定很多个:style。一来代码会显得可读性不强,二来性能上应该是比原生的要差。

    解决方法:VUE3引入的CSS变量

    概念:CSS 变量并不是某个框架的产物,而是 CSS 作者定义的一个标准规范。它包含的值可以在整个文档中重复使用。

     

    用法:大部分语言的变量都有3个基本特征:声明、使用、作用域。CSS变量也不例外。

    1.声明:声明变量的时候,变量名前面要加前缀两根连词线(--)

    body{
      --main-color:#4d4e53;
      --main-bg:rgb(255,255,255);
    }

    它们与color、background-color等正式属性没有什么不同,只是没有默认含义。所以CSS变量又叫做"CSS自定义属性"。

    注意:变量名大小写敏感,--header-color和--Header-Color是两个不同变量。

    2.使用:CSS在使用变量的时候用到了一个函数叫var()

    虽然和Sass一样,调用时要带着前缀,但不一样的是需要用一个var()来把变量包裹起来。

    h1 {
        color: var(--main-color);
    }

    注意:var() 参数可以使用第二个参数设置默认值,当该变量无效的时候,就会使用这个默认值

    3.作用域:变量的作用域就是它所在的选择器的有效范围。

    同一个CSS变量,可以在多个选择器内声明。读取的时候,优先级最高的声明生效。这与CSS的"层叠"(cascade)规则是一致的。

     

    如果希望能够在 HTML 文档中都能访问到,则可以定义在类 :root 中

    由于这个原因,全局的变量通常放在根元素:root里面,确保任何选择器都可以读取它们。

  • 相关阅读:
    Adobe Flash Player因过期而遭到阻止”的内幕起因和解决办法
    SQL中isnull,nullif,coalesce的用法
    sql server全局变量
    关于分组后字段拼接的问题
    查询某个分组中多行字段值的拼接字串的方法--access
    分组统计(平均值计算)
    excel,sql server,access数据之间相互导入导出
    数据查询和管理
    我为什么学习Windows编程
    zStack学习笔记(原创,绝对不是抄的……)
  • 原文地址:https://www.cnblogs.com/jiayuexuan/p/15398662.html
Copyright © 2011-2022 走看看