Vue基础-04-class和style绑定

本文介绍Vue.js中如何动态绑定class和style,包括scope属性的应用,如何引入外部样式,以及如何通过v-bind指令实现class和style的动态变化。在组件开发中,动态class绑定通常更为常见。
摘要由CSDN通过智能技术生成

Vue基础-04-class和style绑定

vue开发过程中,肯定会涉及到对元素的样式操作。

vue提供了两种方式操作样式,动态操作class属性。直接标签上面写style属性,值是动态变化

 
  1. <div style="color:red">

scope属性

在vue组件中要设计样式,所有的样式代码都要放在style标签中。

 
  1. <style scoped>

可以指定当前style的样式只能在这个组件中使用,不能穿透到子组件

如果你需要指定某个css样式穿透,我们可以在指定css选择器前面添加如下代码

 
  1. /deep/.op{
  2. color:blue
  3. }

外部样式

你们的每一个组件都可能会用到某些外部公共样式,你可以在组件指定引入css文件

 
  1. <style scoped>
  2. @import "../../assets/css/common.css";

@import语句结尾了需要加上一个分号

引入的外部样式是否能够穿透

外部引入的样式,默认是可以穿透到子元素,如果你想要实现外部样式只作用当前组件

 
  1. <style scoped src="../../assets/css/common.css"></style>
  2. <style scoped>
  3. /* @import "../../assets/css/common.css"; */
  4. .as{
  5. width: 100px;
  6. height: 100px;
  7. background: tomato;
  8. }
  9. h1{
  10. color: red;
  11. }
  12. /* /deep/.op{
  13. color:blue
  14. } */
  15. </style>

动态绑定class

class属性可以实现动态值变化,借助于v-bind这个指令可以实现

 
  1. <div v-bind:class="{box:true}"></div>
  2. <div v-bind:class="{box:false}"></div>
  3. <div v-bind:class="{box:active}"></div>
  4. <button @click="active=!active">点击控制</button>

active这个变量需要在data中定义出来

 
  1. data(){
  2. return{
  3. active:false
  4. }
  5. },

给一个class绑定多个值

 
  1. <span :class="{ospan:true,kill:true}">301</span>
 
  1. <span :class="[ospanvar,killvar]">401</span>
  2. data(){
  3. return{
  4. active:false,
  5. ospanvar:"ospan", //ospan 选择器名字
  6. killvar:"kill"
  7. }
  8. },

动态绑定style

Vue也可以动态绑定一个style属性,在html标准中每个标签默认可以支持一个style属性

 
  1. <div style="color:red"></div>

语法:

 
  1. <p style="color:pink">王一博</p>
  2. <p :style="{color:nameColor}">张应明</p>
  3. <p :style="[fontStyle,boxStyle]">杨唐</p>

如果是一个数组,我们需要提供数组中每个变量

 
  1. data(){
  2. return{
  3. nameColor:"green",
  4. fontStyle:{
  5. 'color':"red",
  6. 'font-size':"20px"
  7. },
  8. boxStyle:{
  9. "border":"1px solid red"
  10. }
  11. }
  12. }

一般在开发过程中,class动态绑定用的比较多,style动态绑定作为扩展

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值