样式绑定:class =“[]/{}“
样式绑定对于一个相对美观的网站肯定离不开样式操作,Vue也提供了相关的样式处理,样式处无非是两种方式,一种是通过类名class来影响标签的样式,另外一种是直接操作标签的style属性从而定义标签的内部样式。这两种方式vue都支持。class样式处理对象语法<div v-bind:class = "{ active :isActive}"><div>数组语法<div v
·
样式绑定
对于一个相对美观的网站肯定离不开样式操作,Vue也提供了相关的样式处理,样式处无非是两种方式,一种是通过类名class来影响标签的样式,另外一种是直接操作标签的style属性从而定义标签的内部样式。这两种方式vue都支持。
- class样式处理
- 对象语法
<div v-bind:class = "{ active :isActive}"><div>
- 数组语法
<div v-bind:class = "[activeClass,errorClass]"></div>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style type = "text/css">
.active{
border:1px solid red;
width:100px;
height:100px;
}
.error {
background-color: orange;
}
</style>
</head>
<body>
<div id = "app">
<!-- 有时候希望样式被动态的控制 -->
<!-- 类名以一个对象的方式 对象里面可以包含键值对-->
<!-- 键值对的左边是类名 右边需要提供属性来控制类名是否显示-->
<!-- 一般类名对应的属性是以is开头,作为标志位,要么truth要么false-->
<div v-bind:class="{active: isActive,error: isError}">测试样式</div>
<button v-on:click = "handle">切换</button>
</div>
<script src="vue.js"></script>
<script>
/*样式绑定*/
var vm = new Vue({
el:'#app',
data: {
isActive: true,
isError:true
},
methods: {
handle:function(){
// 控制isActive的值在true和false之间进行切换
this.isActive = !this.isActive;
this.isError = !this.isError;
}
}
})
</script>
</body>
</html>
样式的动态处理实际上就是控制类名是否添加到便签里面。
通过v-bind绑定class属性,它的值通过对象的方式,可以控制类名是否显示,如果后面的值是truth那类名就是显示的,如果是false那就是不显示。要想控制多个类名就在对象里边用,逗号分开,添加多个键值对。
- 数组语法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style type = "text/css">
.active{
border:1px solid red;
width:100px;
height:100px;
}
.error {
background-color: orange;
}
</style>
</head>
<body>
<div id = "app">
<!-- 有时候希望样式被动态的控制 -->
<!-- 类名以一个对象的方式 对象里面可以包含键值对-->
<!-- 键值对的左边是类名 右边需要提供属性来控制类名是否显示-->
<!-- 一般类名对应的属性是以is开头,作为标志位,要么truth要么false-->
<div v-bind:class="[activeClass,errorClass]">测试样式</div>
<button v-on:click = "handle">切换</button>
</div>
<script src="vue.js"></script>
<script>
/*样式绑定*/
var vm = new Vue({
el:'#app',
data: {
activeClass:'active',
errorClass:'error'
},
methods: {
handle:function(){
// 控制isActive的值在true和false之间进行切换
this.activeClass = "";
this.errorClass = "";
}
}
})
</script>
</body>
</html>
class样式处理数组语法中直接需要定义相关的属性,属性的值表示的是实例的类名,要想加多个类名的话就往数组里面加多个这样子的属性,他们的值都会作为最终的类名渲染到便签的class属性当中。
更多推荐
已为社区贡献2条内容
所有评论(0)