vue------Class与Style的数据绑定

Class数据的绑定:

1.传给 v-bind:class 一个对象,以动态地切换 class:

<div class="static" v-bind:class="{ active: isActive }"></div>
data: {
  isActive: true
}

渲染结果:<div class="static active"></div>


2.把一个数组传给 v-bind:class,以应用一个 class 列表:

<div v-bind:class="[activeClass, errorClass]"></div>
data: {
  activeClass: 'active',
  errorClass: 'text-danger'
}

渲染为:

<div class="active text-danger"></div>

3.数组中直接在结构中判断:三元判断
<div v-bind:class="[isActive ? activeClass : '', errorClass]"></div>
data:{isActive:true,errorClass:'error'}
结果:
<div v-bind:class="activeClass error"></div>

4.在数组语法中也可以使用对象语法:(一般用在多个条件 class 时,数组套对象会更加清晰)
<div v-bind:class="[{ active: isActive }, errorClass]"></div>

Style内敛样式:

1.对象语法
CSS 属性名可以用驼峰式 (camelCase) 或短横线分隔 (kebab-case,记得用引号括起来) 来命名
<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>
data: {
  activeColor: 'red',
  fontSize: 30
}

2.直接绑定到样式对象上:
<div v-bind:style="styleObject"></div>
data: {
  styleObject: {
    color: 'red',
    fontSize: '13px'
  }
}

3.在浏览器兼容上,vue会自动加上对应兼容性质的前缀!!!

4.多重值:(一个属性,多个值的现象)
<div :style="{ display: ['-webkit-box', '-ms-flexbox', 'flex'] }"></div>
这样写只会渲染数组中最后一个被浏览器支持的值。而不是所有支持的都写在样式中了。
发布了163 篇原创文章 · 获赞 31 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/COCOLI_BK/article/details/103512601