Vue系列四:class与style绑定

  1. 理解
    在应用界面中, 某个(些)元素的样式是变化的
    class/style绑定就是专门用来实现动态样式效果的技术
  2. class绑定: :class=‘xxx’
    xxx是字符串
    xxx是对象
    xxx是数组
  3. style绑定
    :style="{ color: activeColor, fontSize: fontSize + ‘px’ }"
    其中activeColor和fontSize是data属性
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>class与style绑定</title>
  <style>
    .classA {
      color: red;
    }
    .classB {
      background: blue;
    }
    .classC {
      font-size: 20px;
    }
  </style>
</head>
<body>
<div id="demo">
  <h2>1. class绑定: :class='xxx'</h2>
  <p :class="myClass">xxx是字符串</p>
  <p :class="{classA: hasClassA, classB: hasClassB}">xxx是对象</p>
  <p :class="['classA', 'classB']">xxx是数组</p>

  <h2>2. style绑定</h2>
  <p :style="{color:activeColor, fontSize}">:style="{ color: activeColor, fontSize: fontSize + 'px' }"</p>

  <button @click="update">更新</button>

</div>

<script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript">
  new Vue({
    el: '#demo',
    data: {
      myClass: 'classA',
      hasClassA: true,
      hasClassB: false,
      activeColor: 'red',
      fontSize: '20px'
    },

    methods: {
      update () {
        this.myClass = 'classB'
        this.hasClassA = !this.hasClassA
        this.hasClassB = !this.hasClassB
        this.activeColor = 'yellow'
        this.fontSize = '30px'
      }
    }
  })
</script>
</body>
</html>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您想问的是在Vue.js中如何使用:class和:style动态绑定CSS样式吗? 在Vue.js中,我们可以使用v-bind指令来动态地绑定HTML元素的属性。当我们需要动态地绑定CSS类或样式时,我们可以使用:class和:style指令分别绑定CSS类和样式。 :class指令可以接受一个对象,该对象的属性名为CSS类名,属性值为布尔值或计算属性,表示是否应该将该CSS类应用于元素。例如,我们可以这样绑定一个CSS类: ``` <div :class="{ active: isActive }"></div> ``` 上述代码中,当isActive为true时,元素将会应用名为"active"的CSS类。当然,我们也可以使用计算属性来动态计算CSS类: ``` <div :class="classObject"></div> ``` ``` data: { isActive: true, }, computed: { classObject: function () { return { active: this.isActive, 'text-danger': !this.isActive } } } ``` 上述代码中,classObject计算属性返回一个对象,该对象的属性名为CSS类名,属性值为布尔值或计算属性。当isActive为true时,元素将应用名为"active"的CSS类,当isActive为false时,元素将应用名为"text-danger"的CSS类。 :style指令可以接受一个对象或一个计算属性,该对象的属性名为CSS样式属性名(需要使用驼峰式写法),属性值为CSS样式属性值。例如,我们可以这样绑定一个CSS样式: ``` <div :style="{ color: textColor, fontSize: fontSize + 'px' }"></div> ``` 上述代码中,textColor和fontSize都是Vue实例的数据属性,当它们的值发生变化时,元素的颜色和字体大小也会相应地变化。当然,我们也可以使用计算属性来动态计算CSS样式: ``` <div :style="styleObject"></div> ``` ``` data: { textColor: 'red', fontSize: 20, }, computed: { styleObject: function () { return { color: this.textColor, fontSize: this.fontSize + 'px' } } } ``` 上述代码中,styleObject计算属性返回一个对象,该对象的属性名为CSS样式属性名,属性值为Vue实例的数据属性或计算属性。当textColor或fontSize的值发生变化时,元素的颜色和字体大小也会相应地变化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值