scss、css样式中使用变量的方法;Vue动态改变css等样式文件中的变量

目录

一、问题

二、原因及解决方法

三、总结


一、问题

1.遇到一些样式 设置的值都是重复的不想重复写想和js一样定义一个常量,然后直接引用这个常量。

2.想要在js中动态设置样式中的值,在 css、scss等样式表中直接使用

二、原因及解决方法

1.css中直接定义并使用常量

1)代码如下:

<style>
.asset-wrap .title-area {
  --size:100px;
  height: var(--size);
  width: var(--size);
  line-height: var(--size);
}
</style>

2)效果如图2-1所示

2.vue动态改变css等样式文件中的变量

  1)在template模板中 相应的dom上添加 :style="{--变量:变量}"

  2)在css等样式表中直接引用 --变量即可

  3)  变量是响应式的(data中声明过或者ref、reactive定义的),则变量的值发生变化时,对应的css样式也会一起变化。

   4)代码如下:如果想在vue中动态改变size的大小,把'60px'改成变量(例如size),在需要的时候改变size的值即可。

<div class="asset-map">
    <div class="title-area" :style="{'--size':'60px'}" >
    </div>
</div>

<style>
.asset-wrap .title-area {
  height: var(--size);
  width: var(--size);
  line-height: var(--size);
}
</style>

 5)效果如图2-2所示:

3.  1和2两种方式中,父类中定义的常量,子类也可以直接使用! 

代码如下:

<style lang='scss' scoped>
.asset-wrap {
  --size: 90px;
  .title-area {
    height: var(--size);
    width: var(--size);
  }
}
</style>

三、总结

1.在 css等样式表或 html的style属性 中 声明 变量 --var:xxx,在css中就可以直接引用 --var的值

2.我之前写了二、2中的用法,今天看 别人的源码发现,css等样式表中也可以直接用常量,道理是类似的。还有子类中也可以直接使用父类中已经定义过的变量。特来总结一下!

/*

希望对你有帮助!

如有错误,欢迎指正,非常感谢!

*/ 

猜你喜欢

转载自blog.csdn.net/qq_45327886/article/details/130422132