在CSS中使用JS变量

下文中代码为vue代码
在css中可以使用在CSS中定义的变量来设置样式,例如:

<template>
  <div>
    <div class="test">css中使用js变量</div>
  </div>
</template>

<style scoped>
.test {
  --color: pink;
  width: 200px;
  background-color: var(--color);

}
</style>

效果图如下:


使用CSS变量

上面的变量是在CSS中定义的,不能随着一些条件的变化而变化。如果需要根据条件动态计算元素的样式,可以通过vue的计算属性与动态style结合,给元素动态注入一个样式属性,使得在CSS中可以使用注入的这个样式属性。如下:

<template>
  <div>
    <div class="test" :style="compStyle">css中使用js变量</div>
  </div>
</template>

<script>
export default {
  computed: {
    compStyle() {
      return {
        '--height': this.height + 'px'
      }
    }
  },

  data() {
    return {
      height: '100'
    }
  },
}
</script>

<style scoped>
.test {
  --color: pink;
  width: 200px;
  background-color: var(--color);
  height: var(--height);
}
</style>

效果图为:


使用JS变量
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容