七、vue中使用样式

一、v-bind绑定class

1、数组

<h1 :class="['red','thin']">使用样式</h1>

渲染结果:

2、数组中使用三元表达式

<div id="app">
	<h1 :class="['red','thin',isActive ? 'active':'']">使用样式</h1>
</div>
<script type="text/javascript" src="vue.js"></script>
<script type="text/javascript">	
	var vm=new Vue({
		el:'#app',
		data:{
			isActive:true
		}
	})
</script>

渲染结果:

 

3、数组中嵌套对象

<div id="app">
        <!--isActive为true就显示active类否则不显示-->
	<h1 :class="['red','thin',{'active':isActive} ]">使用样式</h1>
</div>
<script type="text/javascript" src="vue.js"></script>
<script type="text/javascript">	
	var vm=new Vue({
		el:'#app',
		data:{
			isActive:true
		}
	})
</script>

渲染结果:

 

4、直接使用对象

<div id="app">
	<h1 :class="{'red':false,'thin':true,'active':true}">使用样式</h1>
</div>
<script type="text/javascript" src="vue.js"></script>
<script type="text/javascript">	
	var vm=new Vue({
		el:'#app',
		data:{
		}
	})
</script>

渲染结果:

 

把对象放在data中:

<div id="app">
	<h1 :class="classObj">使用样式</h1>
</div>
<script type="text/javascript" src="vue.js"></script>
<script type="text/javascript">	
	var vm=new Vue({
		el:'#app',
		data:{
			classObj:{'red':false,'thin':true,'active':true}
		}
	})
</script>

渲染结果和上面的是一样的,只是把对象放在了data中。

 

二、v-bind绑定内联样式style

1、直接在元素上通过:style的形式,书写样式对象:

<div id="app">
	<!--样式属性有中横线必须用引号引起来-->
	<h1 :style="{color:'red','font-weight':200,'font-size':fontSize}">使用样式</h1>
</div>
<script type="text/javascript" src="vue.js"></script>
<script type="text/javascript">	
	var vm=new Vue({
		el:'#app',
		data:{
			fontSize:16+'px' //也可以在data中动态定义样式属性的值
		}
	})
</script>

2、在data中定义样式,将样式对象定义到data中,并直接引用到:style中:

<div id="app">
	<h1 :style="styleObj">使用样式</h1>
</div>
<script type="text/javascript" src="vue.js"></script>
<script type="text/javascript">	
	var vm=new Vue({
		el:'#app',
		data:{
			styleObj:{color:'red','font-weight':200,'font-size':'16px'}
		}
	})
</script>

3、在:style中通过数组,引用多个data中定义的样式对象

<div id="app">
	<h1 :style="[styleObj1,styleObj2]">使用样式</h1>
</div>
<script type="text/javascript" src="vue.js"></script>
<script type="text/javascript">	
	var vm=new Vue({
		el:'#app',
		data:{
			styleObj1:{color:'red','font-weight':200,'font-size':'16px'},
			styleObj2:{fontStyle:'italic'}//样式属性使用驼峰命名将自动解析为中横线的形式,例如fontStyle自动解析后变成font-style
		}
	})
</script>

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值