vue的内联样式也分为对象语法和数组语法。

无论是哪一种绑定class也好,绑定内联也好,他们的样式都有对象或者数组之分

数组或者对象的关隘在运用了vue中的data进行了一个中转:也就是达到数据驱动视图的目的

注意: v-bind:style的语法外观虽然和css语法极其的相似,其实是作为javascript对象存在的。命名的时候用驼峰命名法,如果用短横线命名法的话,需要用引号括起来命名

1、对象语法

//一种:
<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>
data: {
  activeColor: 'red',
  fontSize: 30
}
//第二种也是可以生效的:
 <div
    class="button_container"
    :style="{color:'red',fontSize:'25px'}"
  >
    凡夫俗子
  </div>
//第三种直接绑定一个样式对象通常会更好,会让模板更加的清晰
<div v-bind:style="styleObject"></div>
data: {
  styleObject: {
    color: 'red',
    fontSize: '13px'
  }
}
//第四种就是搭配计算属性用了
<div v-bind:style="styleObject"></div>
data: {
  activeColor: 'red',
  fontSize: 30
}
 computed: {
      styleObject: function() {
          return {
              color: this.activeColor,
              fontSize: this.fontSize
          }
      }
  }

2、数组语法

数组语法可以将多个样式对象应用到同一元素上

<div v-bind:style="[baseStyles, overridingStyles]"></div>

demo:

v-bind:style的数组语法可以将多个样式对象应用到一个元素上。

<div v-bind:style="[styleObjectA, styleObjectB]">Style 数组语法</div>
javascript代码:

var vm = new Vue({
  el: 'div',
  data: {
  styleObjectA: {
    color: 'red'
  },
    styleObjectB: {
     fontSize: '30px'
  }
}
})
渲染为:

<div style="color: red; font-size: 30px;">Style 数组语法</div>