Vue 3 - 10 样式绑定

5/05 Vue 3 样式绑定

样式绑定

class绑定

class 与 style 是 HTML 元素的属性,用于设置元素的样式,我们可以用 v-bind 来设置样式属性。v-bind 在处理 class 和 style 时, 表达式除了可以使用字符串之外,还可以是对象或数组。v-bind:class 可以简写为 :class

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>VUE 样式绑定</title>
	<script src="https://unpkg.com/vue@next"></script>
	<style>
	     .static {
		width: 100px;
		height: 100px;
	     }
	     .active {
		background: green;
    	      }
	      .text-danger {
		background: red;
	      }
	</style>
</head>
<body>
	<div id="app">
		<div class="static" :class="classObject">
		</div>
	</div>
</body>
<script>
const app = {
    data() {
      return {
         isActive: false,
         error: true
      }
   },
   computed: {
      classObject() {
         return {
            active: this.isActive && !this.error,
            'text-danger': this.error && !this.isActive
         }
      }
   }
}

Vue.createApp(app).mount('#app')
</script>
</html>
style内联样式

可以在 v-bind:style 直接设置样式,可以简写为 :style

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue3 样式绑定</title>
<script src="https://unpkg.com/vue@next"></script>
</head>
<body>
<div id="app">
    <div :style="styleObject">样式绑定</div>
</div>
</body>
<script>
const app = {
    data() {
        return {
	    styleObject: {
                color: "red",
	        fontSize: "30px"
	    }
        }
    }
}

Vue.createApp(app).mount('#app')
</script>
</html>
凡所有相,皆是虚妄。

推荐阅读