通过Chrome浏览器访问styleprefix.html,会得到如图53所示的网页。
图53styleprefix.html的网页
从图53可以看出,Chrome浏览器会正确解析styleprefix.html的CSS样式。
5.3范例: 变换表格奇偶行的样式
对于HTML表格,为了制造醒目的视觉效果,可以用不同的颜色标识特定行,如用不同的颜色标识奇数行和偶数行。以下代码通过vbind指令把
当index变量为偶数,index % 2 !== 0的值为false,markline样式不会被添加到class属性中; 当index变量为奇数,index % 2 !==0的值为true,markline样式会被添加到class属性中。表格中第一行的index变量值为0。
例程513按照上述方式用不同的颜色标识表格中的奇数行与偶数行。
例程513books.html
通过浏览器访问books.html,会得到如图54所示的网页。
图54books.html的网页
5.4小结
本章介绍了通过vbind指令为DOM元素动态绑定CSS样式的方法。vbind指令可以把DOM元素的class属性或style属性与一个对象绑定,例如:
以上{redtext: true}和{color: redColor}都是对象。如果要绑定的对象比较复杂,为了简化模板代码,可以在Vue组件的data选项中定义一个对象类型的变量,然后把DOM元素的class属性或style属性与这个变量绑定。例如,以下代码把class属性和style属性分别和textColor变量和styleObject变量绑定:
Hello
Hello
//textColor和styleObject变量在Vue组件的data选项中定义
data(){
return {
textColor: { redtext: true, bluetext: false },
styleObject: { color: 'red', fontSize: '17px' }
}
}
还可以把一个数组与class属性或style属性绑定,这样就能包含多个样式。例如,以下class属性和style属性都与数组绑定:
Hello
Hello
以上[staticClass,redClass]数组和[staticStyle,redStyle]数组中的staticClass、redClass、staticStyle以及redStyle都是在Vue组件的data选项中定义的变量。
5.5思考题
1. 对于以下代码:
Hello
:class使用了()指令的缩写形式。(单选)
A. vmodelB. vbindC. vonD. vshow
2. 对于以下代码:
Hello
当isActive变量为true,
元素的class属性的渲染结果是()。(单选)
A. staticB. redtext
C. static redtext: trueD. static redtext
3. textStyle变量的定义如下:
以下选项()会在网页上用红色字体显示字符串Hello。(多选)
A.
Hello
B.
Hello
C.
Hello
D.
Hello
4. bluetext样式的定义如下:
以下选项()会在网页上用蓝色字体显示字符串Hello。(多选)
A.
Hello
B.
Hello
C.
Hello
D.
Hello
5. 对于以下代码:
{{n}}
在网页上会看到()。(多选)
A. 网页上输出数字1、2、3、4
B. 所有的数字为黑色字体
C. 所有的数字为红色字体
D. 数字1和2为红色字体