v-bind:class="{樣式名: 結果爲 boolean 的表達式}",表達式結果爲 true,則元素 class="樣式名",不然元素 class=""javascript
<div :class="{classNam1: 1 == 1, className2: 1 == 2}"></div>
渲染結果css
<div class="classNam1"></div>
也能夠寫成html
<div :class="classObject"></div>
data: { classObject: { className1: false, className2: true } }
渲染結果java
<div class="className2"></div>
還能夠經過計算屬性的方式數組
<div :class="classObjectComputed"></div>
computed: { classObjectComputed: function(){ return{ className1: true, className2: true } } }
渲染結果code
<div class="className1 className2"></div>
v-bind:class="[]",數組元素能夠爲表達式,也能夠爲字符串,若是是字符串則直接輸出爲樣式名htm
<div :class="[class1, class2, 'className3', active ? 'className4' : '']"></div>
data: { class1: 'className1', class2: 'className2', active: true }
渲染結果對象
<div class="className1 className2 className3 className4"></div>
也能夠用數據對象的方式,解析的邏輯和對象語法同樣ip
<div :class="[{className1: 1 == 1, className2: 1 == 2}, 'className3' ]"></div>
渲染結果作用域
<div class="className1 className3"></div>
在對象當中,CSS 的屬性名要用駝峯式表達:fontSize 解析成 font-size
<div :style="{color: color, fontSize: fontSize, backgroundColor: '#ccc'}"></div>
data: { color: 'red', fontSize: '12px' }
渲染結果
<div style="color: red, font-size: 12px; background-color: #ccc"></div>
<div :style="[styleObject, {backgroundColor: '#ccc'}]"></div>
data: { styleObject: { color: 'red', fontSize: '12px' } }
渲染結果
<div style="color: red, font-size: 12px; background-color: #ccc"></div>
<style scoped> @media (min-width: 250px) { .list-container:hover { background: orange; } } </style> <style src="../css/index.css" scoped></style>