vue之样式绑定

vue之样式绑定

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>绑定样式</title>
  <style>
    .basic {

    }

    .happy {

    }

    .sad {

    }

    .normal {

    }

    .qingmu1 {

    }

    .qingmu2 {

    }

    .qingmu3 {

    }
  </style>
  <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>

<!--
绑定样式:
  1。class样式:
      写法:class='xxx' xxx可以是字符串、对象、数组
      字符串写法:类名不确定,需要动态获取
      数组写法:要绑定的样式个数不确定,名字也不确定
      对象写法:个数确定,名字也确定,但是要动态决定用不用
  2.style写法:
      :style="{fontSize:xxx}",其中xxx是动态值
      :style="[a,b]"其中a,b是样式对象

-->
<div id="root">
<!--  绑定class样式--字符串写法,适用于:样式的类名不确定,需要动态指定-->
  <div class="basic" :class="mood" @click="changeMood">test</div>

  <!--  绑定class样式--数组写法,适用于:要绑定的样式个数不确定,名字也不确定-->
  <div class="basic" :class="classArr">{{name}}</div>

  <!--  绑定class样式--对象写法,适用于:个数确定,名字也确定,但是要动态决定用不用-->
  <div class="basic" :class="classObj">{{name}}</div>


<!--  绑定style样式  -- 对象写法-->
  <div class="basic" :style="styleObj">{{name}}</div>
  <br>
  <!--  绑定style样式  -- 数组写法-->
  <div class="basic" :style="[styleObj,styleObj2]">{{name}}</div>
  <div class="basic" :style="styleArr">{{name}}</div>


</div>

</body>

<script type="text/javascript">
    Vue.config.productionTip = false;

    new Vue({
        el:"#root",
        data:{
            name:"倾慕",
            mood:"normal",
            classArr:['qingmu1','qingmu2','qingmu3'],
            classObj:{
                qingmu1:false,
                qingmu2:false
            },
            styleObj:{
                fontSize: '40px',
                backgroundColor:'orange'
            },
            styleObj2:{
                fontSize: '40px',
                backgroundColor:'orange'
            },
            styleArr:[
                {fontSize: '40px',
                    backgroundColor:'orange'},
                {fontSize: '40px',
                    backgroundColor:'orange'}
            ]
        },
        methods:{
            changeMood(){
               const arr=['happy','sad','normal'];
              const index= Math.floor(Math.random()*3);
              this.mood=arr[index];
            }
        }
    })
</script>
</html>
posted @ 2022-06-10 00:38  King-DA  阅读(29)  评论(0)    收藏  举报