Vue框架整理:动态设置样式style、class

Dear 丶 2022-05-22 09:07 338阅读 0赞

先来说一下:
:class 是可以与 一般用class 并存的

动态添加的类名是基于数据的,当对应的数据为 true 时会显示,否则没有

对象语法:

绑定单个class:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <style> div{ width:200px;height:30px;margin: 100px; } .active1{ padding: 10px; background: #aff; color: #faa; } .active2{ border: 2px solid #faf; } .computedStyle{ color: #f00; } </style>
  7. </head>
  8. <body>
  9. <div id="v1" class="normal" :class="{ 'active1':style1 }">
  10. 对象绑定style1
  11. </div>
  12. <script src="vue.min.js"></script>
  13. <script> var v1=new Vue({ el:"#v1", data:{ style1:true, style2:true } }); </script>
  14. </body>
  15. </html>

显示效果:
这里写图片描述


绑定多个class:

  1. <div id="v1" class="normal" :class="{ 'active1':style1 , active2:style2 }">
  2. 对象绑定style2
  3. </div>

显示效果:
这里写图片描述


一些比较复杂的判断等,可以通过computed计算,获取的返回值就是class类名:
或者用methods 等等;

  1. <div id="v1" class="normal" :class="stl">
  2. 通过计算属性绑定style
  3. </div>
  4. <script src="vue.min.js"></script>
  5. <script> var v1=new Vue({ el:"#v1", data:{ style1:true, style2:true }, computed:{ stl:function () { return { computedStyle:this.style1 && this.style2 } } } }); </script>

这里写图片描述


数组语法:

一般设置多个class的时候,用数组语法绑定的比较多:

  1. <div id="v1" :class="[ s1 , s2 ]">
  2. 数组语法同时添加多个class
  3. </div>
  4. <script> var v1=new Vue({ el:"#v1", data:{ s1:"active1", s2:"active2" } }); </script>

或使用 “三元表达式” 设置class

  1. <div id="v1" :class="[s3 ? s1 : s2 ]">
  2. 数组语法同时添加多个class
  3. </div>

设置内联样式:

  1. <div id="v1" :style="styles">
  2. 使用内联:style设置样式
  3. </div>
  4. <script src="vue.min.js"></script>
  5. <script> var v1=new Vue({ el:"#v1", data:{ styles:{ color:'#f00', fontSize:17+"px" } } }); </script>

这里写图片描述

发表评论

表情:
评论列表 (有 0 条评论,338人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Vue 动态样式绑定

    1. 简介 本小节我们将介绍 Vue 中如何动态绑定样式。包括 Class 的绑定、内联样式 Style 的绑定。掌握样式绑定的多种形式是其中的重点难点。同学们可以在学完

    相关 vue 动态样式写法

    在Vue中,可以使用动态样式来根据组件的数据或计算属性来动态地设置元素的样式。Vue提供了多种方式来实现动态样式的写法,以下是几种常见的方法: 使用:style指令: 可以