VUE课程---16、style样式绑定

泪湿孤枕 提交于 2020-08-14 10:23:06

VUE课程---16、style样式绑定

一、总结

一句话总结:

style样式绑定(内联样式绑定)也有对象语法和数组语法,对象语法就是键值对表示样式名和样式值,数组语法就是数组里面可以放多个表示样式的对象
<div id="app"> <!--对象语法--> <p :style="{color:'red','font-size':'30px'}">{{msg}}</p> <!--用vue实例中的data--> <p :style="{color:activeColor,'font-size':fontSize+'px'}">{{msg}}</p> <!--直接用对象--> <p :style="style1">{{msg}}</p> <!--数组语法--> <p :style="[style1,style2]">{{msg}}</p> </div> <script src="../js/vue.js"></script> <script> let vm = new Vue({ el: '#app', data: { msg: '我有一只小毛驴,我永远也不骑', activeColor:'purple', fontSize:'50', style1:{color:'blue','font-size':'30px'}, style2:{'font-weight':600} } }); </script>

 

 

1、vue中绑定内联样式的对象语法和数组语法是什么?

绑定内联样式对象语法:键值对表示样式名和样式值,例如:<p :style="{color:'red','font-size':'30px'}">{{msg}}</p>
绑定内联样式数组语法:数组里面可以放多个表示样式的对象,例如:<p :style="[style1,style2]">{{msg}}</p>

 

 

2、vue中绑定class样式和绑定内联(style)样式的数组语法和对象语法的区别?

绑定class样式:对象语法会在键值对的值为true,则将对应的属性名添加到class,为false则不添加;数组语法会依次将数组中的元素解析到class里面;
绑定内联(style)样式:对象语法就是键值对表示属性和属性值;数组语法就是数组里面可以放多个表示样式的对象
绑定class样式
<div id="app"> <!--1、数组语法--> <p :class="['red','big']">{{msg}}</p> <!--数组里面的三元表达式--> <p :class="['red',isBig?'big':'']">{{msg}}</p> <!--数组里面放对象--> <p :class="['italic',{red:true,big:isBig}]">{{msg}}</p> <p :class="['italic',class1]">{{msg}}</p> <!--2、对象语法--> <p :class="{red:true,'big':isBig}">{{msg}}</p> <!--对象在vue实例中--> <p :class="class1">{{msg}}</p> </div> <script src="../js/vue.js"></script> <script> let vm = new Vue({ el: '#app', data: { msg: '我有一只小毛驴,我永远也不骑', isBig: true, class1: {red: true, big: true} } }); </script> 绑定内联(style)样式 <div id="app"> <!--对象语法--> <p :style="{color:'red','font-size':'30px'}">{{msg}}</p> <!--用vue实例中的data--> <p :style="{color:activeColor,'font-size':fontSize+'px'}">{{msg}}</p> <!--直接用对象--> <p :style="style1">{{msg}}</p> <!--数组语法--> <p :style="[style1,style2]">{{msg}}</p> </div> <script src="../js/vue.js"></script> <script> let vm = new Vue({ el: '#app', data: { msg: '我有一只小毛驴,我永远也不骑', activeColor:'purple', fontSize:'50', style1:{color:'blue','font-size':'30px'}, style2:{'font-weight':600} } }); </script>

 

3、vue中绑定class样式和绑定内联(style)样式 时候 数组语法和对象语法 有区别的本质原因是什么?

指定样式的时候,用class只需要一个值,而用style的话,每个样式都需要两个值(样式名和样式值)

 

 

 

二、style样式绑定

博客对应课程的视频位置:16、style样式绑定
https://www.fanrenyi.com/video/26/233

 

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>style样式绑定</title>
 6 </head>
 7 <body>
 8 <!--
 9 
10 -->
11 <div id="app">
12     <!--1、以字符串的方式-->
13     <p v-bind:style="'color: red;font-size: 30px;'">{{msg}}</p>
14 
15 
16     <!--2、以变量的方式-->
17     <p v-bind:style="style1">{{msg}}</p>
18 
19 
20     <!--3、对象语法-->
21     <!--
22     对象的语法的时候,style里面的每一个样式的样式名就对应对象键值对里面的键,
23     每一个样式的样式值就对应对象键值对里面的值
24     -->
25     <!--
26     对象的键值对都要是字符串,而键默认就是字符串,所以值也要被设置为字符串
27     -->
28     <!--
29     对象解析的时候,将键值对中的键解析成样式名,值解析成样式值
30     -->
31     <p v-bind:style="{color:'red','font-size':'30px'}">{{msg}}</p>
32     <p v-bind:style="style2">{{msg}}</p>
33 
34     <!--4、数组语法-->
35     <p v-bind:style="[style2,style3]">{{msg}}</p>
36 
37 </div>
38 <script src="../js/vue.js"></script>
39 <script>
40     new Vue({
41         el:'#app', //element
42         data:{
43             msg:'欢迎来到vue的世界',
44             style1:'color: red;font-size: 30px;',
45             style2:{color:'red','font-size':'30px'},
46             style3:{'font-style':'italic'}
47         }
48     });
49 </script>
50 </body>
51 </html>

 

 

 

 

 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!