【VUE】绑定样式

绑定class样式

  • 字符串写法
    • 适用于:样式的类名不确定,需要动态指定
<div class="basic" :class="mood" @click="changeMood" > {{name}} </div>
...
const vm = new Vue({
        ...
         data:{
                name:'XXX',
                mood:'normal'
        },
        ...
})
  • 数组写法
    • 适用于:要绑定的样式个数不确定、名字也不确定
<div class="basic" :class="classArr"> {{name}} </div>
<!-- v-bind: 绑定的一定是表达式 下面'xxx'是字符串值-->
<div class="basic" :class="['yangshi1','yangshi2','yangshi3']"> {{name}} </div>
<!-- 此处a,b,c是表达式,会去data中找属性 -->
<div class="basic" :class="[a,b,c]"> {{name}} </div>
...
const vm = new Vue({
        ...
         data:{
                name:'XXX',
                mood:'normal',
                // classArr:['yangshi1','yangshi2','yangshi3']
                a:'yangshi1', //定义好的css样式中存在的样式名
                b:'yangshi2',
                c:'yangshi3'
        },
        ...
})
  • 对象写法
    • 要绑定的样式个数确定、名字也确定,但要动态决定用不用
<div class="basic" :class="classObj"> {{name}} </div>
<div class="basic" :class="{yangshi1:a,yangshi2:false}"> {{name}} </div>
...
const vm = new Vue({
        ...
         data:{
                name:'XXX',
                mood:'normal',
                // classArr:['yangshi1','yangshi2','yangshi3'],
                classObj:{
                    yangshi1:false,
                    yangshi2:false,
                },
                a:true, //一般不这么写
        },
        ...
})

绑定style样式

<!-- 不变化的样式正常写 变化的通过data绑定 -->
<div class="basic" style='font-size: 40px;'> {{name}} </div>
<div class="basic" :style='{font-size: fsize + 'px'}'> {{name}} </div>
<!-- 对象写法 -->
<div class="basic" :style="styleObj"> {{name}} </div>
<div class="basic" :style="[styleObj,styleObj2]"> {{name}} </div>
<!-- 数组写法 -->
<div class="basic" :style="styleArr"> {{name}} </div>
...
const vm = new Vue({
        ...
        const x = {fontSize: fsize + 'px'}
         data:{
                name:'XXX',
                mood:'normal',
                fsize:40
                styleObj:{
                    fontSize: '40px', //对应font-size
                    color:'red',
                },
                styleObj2:{
                    backgroundColor:'orange'
                },
                styleArr:[
                    {
                        fontSize: '40px', //对应font-size
                        color:'blue',
                    },
                    {
                        backgroundColor:'orange'
                    }
                ]
        },
        ...
})

总结

  • class样式
    • 写法:class='xxx' xxx可以是字符串、对象、数组
      • 字符串写法适用于:类名不确定,要动态获取
      • 对象写法适用于:要绑定多个样式,个数不确定,名字也不确定
      • 数组写法适用于:要绑定多个样式,个数确定,名字也确定,但不确定用不用
  • style样式
    • :style:"{fontSize: xxx}"其中xxx是动态值
    • :style="[a,b]"其中a、b是样式对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值