![Vue.js从入门到项目实践(超值版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/987/44509987/b_44509987.jpg)
上QQ阅读APP看书,第一时间看更新
5.3.2 绑定内联样式
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P99_14188.jpg?sign=1738869984-BkwoTX2189DYEBfP4gVbjX5tw24BjLZt-0-80739dae3cb8d04440deb86f21f4d97c)
1.对象语法
v-bind:style的对象语法十分直观,看着非常像CSS,其实它是一个JavaScript对象。CSS属性名可以用驼峰式(camelCase)或短横(kebab-case)分隔命名。
示例代码如下:
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P99_53252.jpg?sign=1738869984-6DhsDTxTHblsfC7i2sn28M2wBuzvW9rK-0-52a29e63e29032cbc24791f73e70da7e)
通常,直接绑定到一个样式对象会更好,让模板更清晰。示例代码如下:
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P100_53253.jpg?sign=1738869984-GoUAX9vqUYWEINmVHSm3OpRT8aNmwPZ3-0-2e45a1d5039ea50db3821d584712b954)
提示:对象语法常常结合返回对象的计算属性使用。
2.数组语法
v-bind:style的数组语法可以将多个样式对象应用到一个元素上。
示例代码如下:
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P100_53254.jpg?sign=1738869984-UwSK8iEDkNcWJqZMsZT2Sn0I7NqKPai8-0-bb7821876318cab1185b4b9bc14939a9)
3.多重值
从Vue.js 2.3.0开始就可以为style绑定中的属性提供一个包含多个值的数组,常用于提供多个带前缀的值。例如:
<div :style="{ display: ['-webkit-box', '-ms-flexbox', 'flex'] }"></div>
上述语句会渲染数组中最后一个被浏览器支持的值。在这个例子中,如果浏览器支持不带前缀的flexbox,那么渲染结果会是display:flex。
4.自动添加前缀
当v-bind:style使用需要厂商前缀的CSS属性(如transform)时,Vue.js会自动侦测并添加相应的前缀。在Vue.js源码中采用prefix函数来完成这个功能。因为各大浏览器的私有属性不同,所以我们有时需要在样式前添加前缀,例如-webkit-(谷歌)、-ms-(微软)、-moz-(火狐)。但是在Vue中就无须添加,因为Vue会自动添加前缀。