vue3 css使用v-bind实现动态样式

vue3 css使用v-bind实现动态样式

html 复制代码
<template>
    <button @click="toggleTheme">切换主题</button>
    <div class="card"></div>
</template>

<script setup>
import { ref } from 'vue'

const primaryColor = ref('#007bff')
const isLarge = ref(false)
const height = ref(200)
const margin = ref(20)

function toggleTheme() {
  // 切换亮色/暗色主题
  if (primaryColor.value === '#007bff') {
    primaryColor.value = '#ffc107'
    isLarge.value = true
  } else {
    primaryColor.value = '#007bff'
    isLarge.value = false
  }
}
</script>

<style scoped>
.card {
  margin-top: v-bind('margin * 2 + "px"');
  width: v-bind('isLarge ? "300px" : "200px"');
  height: v-bind('height + "px"');
  background-color: v-bind(primaryColor);
}
</style>
相关推荐
NEXT068 分钟前
前端算法:从 O(n²) 到 O(n),列表转树的极致优化
前端·数据结构·算法
剪刀石头布啊14 分钟前
生成随机数,Math.random的使用
前端
剪刀石头布啊14 分钟前
css外边距重叠问题
前端
剪刀石头布啊15 分钟前
chrome单页签内存分配上限问题,怎么解决
前端
剪刀石头布啊17 分钟前
css实现一个宽高固定百分比的布局的一个方式
前端
剪刀石头布啊21 分钟前
js数组之快速组、慢数组、密集数组、稀松数组
前端
mango_mangojuice43 分钟前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
Days20501 小时前
简单处理接口返回400条数据本地数据分页加载
前端
MZ_ZXD0011 小时前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·vue.js·spring boot·python·django·php
Novlan11 小时前
@tdesign/uniapp 图标瘦身
前端