Vue入门指北——css中的js变量

简介: Vue入门指北——css中的js变量

前言


最近项目演示,手上没什么活,正好借着闲下来的功夫,看了看vue3的文档,发现vue3对vue3的支持加强了。以前总是想着,如果js中的变量能直接,css中使用,那是多么一件美妙的事情啊,而且优雅。而在这次的vue3里面支持这么做了,你可以随意使用js中的变量,只需一个v-bind()指令就可以实现。下面我给大家简单介绍下,在vue2中css是如何使用js变量的,并对比vue3中的使用,你会发现优雅,太优雅了。


vue2中css内的js变量


假如我们有两个按钮,第一个按钮背景改成粉色,第二个按钮文字改成粉色,你可能会这么写:


<script >
...
data() {
  return {
    color: 'pink',
  }
}
...
</script>
<template>
  <div>
    <button :style="{ background: color }">
      彼时彼刻,恰如此时此刻
    </button>
    <button :style="{ color }">
      彼时彼刻,恰如此时此刻
    </button>
  </div>
</template>
复制代码


但是,这么写的话,动态样式一但多的话,就会显得特别臃肿。这个时候你就可以通过css变量解决这个问题。


<template>
  <div :style="{'--color': color}">
    <button >
      彼时彼刻,恰如此时此刻
    </button>
    <button>
      彼时彼刻,恰如此时此刻
    </button>
  </div>
</template>
<script >
...
data() {
  return {
    color: 'pink',
  }
}
...
</script>
<style scoped>
button:nth-child(1) {
    background: var(--color);
}
button:nth-child(2) {
  color: var(--color)
}
</style>
复制代码


上面两种方法中,都做到了,根据data内的color变量动态渲染css样式,一个是要在标签内编写样式,一个是要在标签内声明css变量,说实话比较繁琐。下面我们来看下,在vue3中是如何实现的。


vue3中css内的js变量


在vue3中可以说是非常方便了:


<script setup>
import { ref } from 'vue';
const color = ref('pink');
</script>
<template>
  <div>
    <button >
      彼时彼刻,恰如此时此刻
    </button>
    <button>
      彼时彼刻,恰如此时此刻
    </button>
  </div>
</template>
<style scoped>
button:nth-child(1) {
    background: v-bind(color);
}
button:nth-child(2) {
  color: v-bind(color);
}
</style>
复制代码


vue3中直接通过v-bind指令就可以与js变量绑定上,既解决了标签内编写样式的臃肿的问题,也省去了声明css变量的麻烦。

相关文章
|
4月前
|
移动开发 前端开发 JavaScript
征信报告修改器,征信报告生成器,制作软件无痕修改软件【js+html+css】
本项目为信用评分模拟器教学工具,采用HTML5实现,仅供学习参考。核心功能通过JavaScript构建,包含虚拟数据生成、权重分配及信用因素分析(如还款记录、信用使用率等)。
|
4月前
|
存储 自然语言处理 前端开发
抖音快手小红书虚拟评论截图生成器,模拟对话制作工具,html+js+css
这是一款纯前端实现的多平台虚拟评论生成器,支持抖音、快手、小红书风格,适用于产品演示与UI设计。采用Vanilla JS与Flexbox布局,利用IndexedDB存储数据,CSS Variables切换主题。
|
4月前
|
前端开发 JavaScript
个人征信电子版无痕修改, 个人信用报告pdf修改,js+html+css即可实现【仅供学习用途】
本代码展示了一个信用知识学习系统的前端实现,包含评分计算、因素分析和建议生成功能。所有数据均为模拟生成
|
4月前
|
存储 前端开发 安全
病历单生成器在线制作,病历单生成器app,HTML+CSS+JS恶搞工具
本项目为医疗病历模拟生成器,旨在为医学教学和软件开发测试提供数据支持,严格遵守《医疗机构病历管理规定》。
|
4月前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中
|
4月前
|
前端开发 容器
处方单图片生成器, 处方单在线制作免费,js+css+html恶搞神器
这是一个电子处方模拟生成系统,使用html2canvas库实现图片导出功能。系统生成的处方单包含多重防伪标识,并明确标注为模拟数据,仅供学习
|
4月前
|
前端开发
个人征信PDF无痕修改软件,个人征信模板可编辑,个人征信报告p图神器【js+html+css仅供学习用途】
这是一款信用知识学习系统,旨在帮助用户了解征信基本概念、信用评分计算原理及信用行为影响。系统通过模拟数据生成信用报告,涵盖还款记录
|
4月前
|
前端开发 JavaScript 容器
制作b超单生成器, 假怀孕b超单图片制作, p图医院证明【css+html+js装逼恶搞神器】
本资源提供一个适合用于熟人之间恶搞的工具,效果逼真,仅供学习参考与娱乐。包含前端技术学习要点:语义化布局、响应式设计、Flexbox、图片自适应

热门文章

最新文章