当前位置:网站首页 > Vue.js开发 > 正文

vue中,动态绑定样式——动态绑定style写法 & 动态class写法

vue中,动态绑定样式——动态绑定style写法 & 动态class写法

1、动态绑定style写法

注意:

  • 凡是有-的style属性名都要变成驼峰式,比如font-size要变成fontSize
  • 除了绑定值,其他的属性名的值要用引号括起来,比如backgroundColor:'#00a2ff'而不是 backgroundColor:#00a2ff
1.1、对象
<div :style="{ 
       color: activeColor, fontSize: fontSize + 'px' }"></div> <div :style="{ 
      color:(index == 1 ? conFontColor:'#000')}"></div> 
1.2、数组
<div :style="[baseStyles, overridingStyles]"></div> <div :style="[{ 
      color:(index == 1 ? conFontColor:'#000')},{ 
      fontSize:'18px'}]"></div> 
1.3、三元运算符
<div :style="{ 
      color:(index == 1 ? conFontColor:'#000')}"></div> <div :style="[{ 
      color:(index == 1 ? conFontColor:'#000')},{ 
      fontSize:'18px'}]"></div> <div :style="item.layerName === activeLayerName?'font-weight:700' : 'font-weight:400'"></div> <!-- 写法一 --> <div :style="[{ 
      float: id === '12' ? 'left:'right}]"></div> <!-- 写法二 --> <div :style="float: nameList.length === 20 ? 'height:64px' : 'height:32px' "></div> <!-- 写法三 --> <div :style="{ 
      border:( nameId ===item.id ?'2px solid #4C78FF': 'red')}"></div> 
1.4、绑定data对象
<div :style="styleObject"></div> <script> data() { return{ styleObject: { color: 'red', fontSize: '14px' } } } </scrip> 
2、动态class写法
2.1、对象方法
<!-- isActive —— true/false --> <div :class="{ 'active': isActive }">{ 
  {name}}</div> 
2.2、判断是否绑定一个active
<div :class="{ 
    'active' : isActive == -2}" >{ 
  {name}}</div> <div :class="{ 
    'active' : isActive == item.nameId}" >{ 
  {item.name}}</div> 
2.3、绑定并判断多个
2.31、第一种:用逗号隔开
<div :class="{ 'active': isActive, 'user': isUser }"></div> 
2.32、放在data里面
<div :class="classObject">{ 
  {name}}</div> <script> data() { return { classObject:{ active: true, user:false } } } </script> 
2.33、使用computed属性
<div :class="classObject">{ 
  {name}}</div> <script> data() { return { isActive: true, isUser: false } }, computed: { classObject: function () { return { active: this.isActive, user:this.isUser } } } </script> 
2.4、数组方法
2.41、单纯数组
<div :class="[isActive,isUser]">{ 
  {name}}</div> <script> data() { return{ isActive:'active', isUser:'user' } } </script> 
2.42、数组与三元运算符结合判断选择需要的class
  • 注意:三元运算符后面的“:”两边的class需要加上单引号,否则不能正确渲染

:class="[isActive?‘active’:’’]"
或者
:class="[isActive1?‘active’:’’]"
或者
:class="[isActive
index?‘active’:’’]"
或者
:class="[isActive==index?‘active’:‘otherActiveClass’]"

2.43、数组对象结合动态判断

//前面这个active在对象里面可以不加单引号,后面这个sort要加单引号
:class="[{ active: isActive }, ‘sort’]"
或者
:class="[{ active: isActive1 }, ‘sort’]"
或者
:class="[{ active: isActive
index }, ‘sort’]"

到此这篇vue中,动态绑定样式——动态绑定style写法 & 动态class写法的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • Vue中失去焦点时所触发的事件2024-11-27 19:27:04
  • JSON的几种注释2024-11-27 19:27:04
  • tsconfig.json配置释义2024-11-27 19:27:04
  • vue3中,axios的几种用法之抽离接口、post请求、get请求、.env.dev、网关标识、基准地址2024-11-27 19:27:04
  • vue中provide和inject的用法2024-11-27 19:27:04
  • vue中this.$route.query和this.$route.params & query传参和params传参的使用和区别2024-11-27 19:27:04
  • vue2.0中监听watch的三种写法2024-11-27 19:27:04
  • vue中使用图像编辑器tui-image-editor(一)2024-11-27 19:27:04
  • vue2中,html2canvas组件的使用——实现截图并保存到本地2024-11-27 19:27:04
  • js中,数组对象操作——双层遍历-for循环之splice-删除、push-添加 & 数组中添加对象 & 删除数组中对象 & 数组中对象的参数值置空2024-11-27 19:27:04
  • 全屏图片