![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=1739271480-tJm2gSSdc88uy4j6VINQAiXL1ohWvNfW-0-c8f5213fc13f5f9926e69d37500f28c4)
1.对象语法
v-bind:style的对象语法十分直观,看着非常像CSS,其实它是一个JavaScript对象。CSS属性名可以用驼峰式(camelCase)或短横(kebab-case)分隔命名。
示例代码如下:
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P99_53252.jpg?sign=1739271480-lPTDhWx8MKyAmyTDldk89F0j5G1E3gQ8-0-155de5dd972a4be476874fe257e3e3b2)
通常,直接绑定到一个样式对象会更好,让模板更清晰。示例代码如下:
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P100_53253.jpg?sign=1739271480-kFWVYYgBeBP2GpkhF7lapvAdJhUIq7Rx-0-b04687a86f1155067d80578724a1435b)
提示:对象语法常常结合返回对象的计算属性使用。
2.数组语法
v-bind:style的数组语法可以将多个样式对象应用到一个元素上。
示例代码如下:
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P100_53254.jpg?sign=1739271480-Wiuyf7KdHVkLCrALXWcPkbf7GJiOIPIn-0-2f8e9e0ad8fe603faeefb3de5ea771c8)
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会自动添加前缀。