Vue3动态CSS
- 动态css值
- 动态css对象
- module模式
动态css值
<template>
<div class="div">
动态css
</div>
</template>
<script setup lang=ts>
import {ref} from 'vue'
const style = ref('blue')
</script>
<style scoped>
.div{
color: v-bind(style)
}
</style>
动态css对象
<template>
<div class="div">
动态css
</div>
</template>
<script setup lang=ts>
import {ref} from 'vue'
const style = ref({
color:'blue'
})
</script>
<style scoped>
.div{
color: v-bind('style.color')
}
</style>
module模式
- 单个样式
<template>
<div :class="$style.div">
动态css
</div>
</template>
<script setup lang=ts>
import {ref} from 'vue'
</script>
<style module>
.div{
color: red
}
</style>
- 多个样式
<template>
<div :class="[$style.div,$style.border]">
动态css
</div>
</template>
<script setup lang=ts>
import {ref} from 'vue'
</script>
<style module>
.div{
color: red
}
.border{
border: 1px solid #ccc
}
</style>
- 自定义名字
<template>
<div :class="[zs.div,zs.border]">
动态css
</div>
</template>
<script setup lang=ts>
import {ref} from 'vue'
</script>
<style module="zs">
.div{
color: red
}
.border{
border: 1px solid #ccc
}
</style>
hooks使用
const css = useCssModule('zs');
console.log(css);
使用场景render或写txs使用