Vue-样式绑定

水深无声 2021-09-09 08:08 545阅读 0赞

绑定class属性

  1. v-bind:class="{样式名称:变量}"
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <meta charset="utf-8">
  6. <title>class属性绑定</title>
  7. <script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
  8. <style type="text/css"> .a { width: 200px; height: 200px; background-color: aliceblue; } </style>
  9. </head>
  10. <body>
  11. <div id="app">
  12. <div v-bind:class="{a: isactive}"></div>
  13. </div>
  14. <script type="text/javascript"> new Vue({ el: '#app', data:{ isactive:true } }) </script>
  15. </body>
  16. </html>

在这里插入图片描述

绑定多个样式

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>class属性绑定</title>
  6. <script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
  7. <style type="text/css"> .a { width: 200px; height: 200px; background-color: aliceblue; } .b { background-color: red; } </style>
  8. </head>
  9. <body>
  10. <div id="app">
  11. <div v-bind:class="{a: isactive,b:hasError}"></div>
  12. <hr >
  13. <div v-bind:class="{a: isactive,b:noError}"></div>
  14. </div>
  15. <script type="text/javascript"> new Vue({ el: '#app', data:{ isactive:true, hasError:true, noError:false, } }) </script>
  16. </body>
  17. </html>

在这里插入图片描述

绑定数据里的一个对象

  1. v-bind:class="对象名"
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <meta charset="utf-8">
  6. <title>class属性绑定</title>
  7. <script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
  8. <style type="text/css"> .a { width: 200px; height: 200px; background-color: aliceblue; } .b { width: 200px; height: 200px; background-color: red; } </style>
  9. </head>
  10. <body>
  11. <div id="app">
  12. <div v-bind:class="class1"></div>
  13. <hr >
  14. <div v-bind:class="class2"></div>
  15. </div>
  16. <script type="text/javascript"> new Vue({ el: '#app', data:{ class1:{ a:true, b:false, }, class2:{ a:false, b:true, } } }) </script>
  17. </body>
  18. </html>

在这里插入图片描述

绑定一个数组

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>class属性绑定</title>
  6. <script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
  7. <style type="text/css"> .a { width: 200px; height: 200px; background-color: aliceblue; } .b { width: 200px; height: 200px; background-color: red; } </style>
  8. </head>
  9. <body>
  10. <div id="app">
  11. <div v-bind:class="[c1]"></div>
  12. <hr >
  13. <div v-bind:class="[c1,c2]"></div>
  14. </div>
  15. <script type="text/javascript"> new Vue({ el: '#app', data:{ c1:'a', c2:'b', } }) </script>
  16. </body>
  17. </html>

在这里插入图片描述

通过三目运算符绑定

  1. 表达式 代码1 :代码2
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <meta charset="utf-8">
  6. <title>class属性绑定</title>
  7. <script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
  8. <style type="text/css"> .a { width: 200px; height: 200px; background-color: aliceblue; } .b { width: 200px; height: 200px; background-color: red; } </style>
  9. </head>
  10. <body>
  11. <div id="app">
  12. <div v-bind:class="m ? 'a' : '' "></div>
  13. <hr >
  14. <div v-bind:class="m ? 'b' : '' "></div>
  15. </div>
  16. <script type="text/javascript"> new Vue({ el: '#app', data:{ m:true } }) </script>
  17. </body>
  18. </html>

在这里插入图片描述

style内联样式

  1. v-bind:style="{样式1,样式2,样式3..}"
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <meta charset="utf-8">
  6. <title>class属性绑定</title>
  7. <script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
  8. </head>
  9. <body>
  10. <div id="app">
  11. <div>xiaowang</div>
  12. <div style="font-size: 20px;color: red;">xiaowang</div>
  13. <div v-bind:style="{color:'blue',fontSize:'30px'}">xiaowang</div>
  14. <div v-bind:style="{color: Color,fontSize: Size+'px'}">xiaowang</div>
  15. </div>
  16. <script type="text/javascript"> new Vue({ el: '#app', data:{ Color: 'blue', Size:25 } }) </script>
  17. </body>
  18. </html>

在这里插入图片描述

style绑定样式对象

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>class属性绑定</title>
  6. <script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
  7. </head>
  8. <body>
  9. <div id="app">
  10. <div>xiaowang</div>
  11. <div v-bind:style="s">xiaowang</div>
  12. </div>
  13. <script type="text/javascript"> new Vue({ el: '#app', data:{ s:{ color:"blue", fontSize:"30px" } } }) </script>
  14. </body>
  15. </html>

在这里插入图片描述

style绑定样式数组

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>class属性绑定</title>
  6. <script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
  7. </head>
  8. <body>
  9. <div id="app">
  10. <div>xiaowang</div>
  11. <div v-bind:style="[s1,s2]">xiaowang</div>
  12. </div>
  13. <script type="text/javascript"> new Vue({ el: '#app', data:{ s1:{ color:"blue"}, s2:{ fontSize:"30px"} } }) </script>
  14. </body>
  15. </html>

在这里插入图片描述

发表评论

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

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

相关阅读

    相关 vue样式

    3.1、绑定class 绑定class样式--字符串写法,适用于:样式的类名不确定,需要动态指定 <div class="basic" :class="mood"

    相关 VUE 样式

    操作元素的 class 列表和内联样式是数据绑定的一个常见需求。因为它们都是属性,所以我们可以用 v-bind 处理它们:只需要通过表达式计算出字符串结果即可。不过,字符串拼接