首页 > 其他分享 >Vue2(笔记08) - Vue核心 - 绑定Class样式、绑定Style样式

Vue2(笔记08) - Vue核心 - 绑定Class样式、绑定Style样式

时间:2022-12-01 22:31:58浏览次数:45  
标签:Style Vue name 样式 绑定 数组 xxx

绑定Class样式

Vue里引入 ​:class="xxx"​ 来绑定样式,"xxx" 即可以是样式名,也可以是表达式,原有 class 不动;


​字符串写法

适用于样式的类名不确定,需要动态指定

​需求:写个切换样式的 div ; 

<div id="root">
<div class="basic" :class="mood" @click="changeMood">{{name}}</div>
</div>

提示1:事先做几个样式, basic、light 、dark、normal、s1、s2、s3 ;

提示2:basic 留做基础样式不动;随事件指定 light 、 dark 或 normal ; 

注意: Vue 使用 ​:class​​ 来绑定样式属性,​@click​ 绑定点击事件,切换样式属性值;

new Vue({
el: "#root",
data: {
name: '点击切换样式',
mood: 'light' // 样式属性,先指定一个;
},
methods: {
changeMood() {
// 点击切换样式,在 dark 和 light 之间
this.mood = this.mood == 'dark' ? 'light' : 'dark'
}
},
})

看效果:随点击事件,样式在 light 和 dark 间切换;

Vue2(笔记08) - Vue核心 - 绑定Class样式、绑定Style样式_绑定class样式

代码改一下,点击切换时,在三种样式随机切换:

new Vue({
el: "#root",
data: {
name: '点击切换样式',
mood: 'normal'
},
methods: {
changeMood() {
// 三个方式放数组里,通过下标随机取一个;
const arr = ['normal', 'light', 'dark']
this.mood = arr[Math.floor(Math.random() * 3)]
console.log(this.mood);
}
},
})

提示1:三种样式放在数组里,通过随机数取整,让 this.mood 选一个样式;

Vue2(笔记08) - Vue核心 - 绑定Class样式、绑定Style样式_绑定class样式_02


数组写法

适用于要绑定的样式个数不确定、名字也不确定;

<div id="root">
<div class="basic" :class="classArr">{{name}}</div>
</div>

提示1:样式引用数组属性,把样式都放在数组中;

new Vue({
el: "#root",
data: {
name: '数组形式的样式',
classArr: ['s1', 's2', 's3']
}
})

提示2:s1,s2,s3 分别是三个样式,都放在数组里,一起被  ​:class​ 调用;操作数组,就可以控制样式的变化了;

看下效果:Vue DevTools 查看 data;

Vue2(笔记08) - Vue核心 - 绑定Class样式、绑定Style样式_Vue_03

看下效果:开发者工具查看DOM元素;

Vue2(笔记08) - Vue核心 - 绑定Class样式、绑定Style样式_绑定style样式_04

数组里的样式,全都绑上了,基础样式保持不变;


对象写法

适用于要绑定的样式个数确定,名字也确定,但要动态决定用不用;

<div id="root">
<div class="basic" :class="classObj">{{name}}</div>
</div>
new Vue({
el: "#root",
data: {
name: '数组形式的样式',
classObj: {
s1: true,
s2: true,
s3: false
}
}
})

Vue2(笔记08) - Vue核心 - 绑定Class样式、绑定Style样式_绑定style样式_05

注意:上面动图文字忘改了,是对象形式的样式;


绑定Style样式

Vue里引入 ​:style="xxx:xx"​ 来绑定样式,"xxx:xx" 即样式名和值;这种用的不太多,知道就好;


对象写法

<div id="root">
<div class="basic" :style="styleObj">{{name}}</div>
</div>

提示:通过 ​:style​ 调用样式对象;

new Vue({
el: "#root",
data: {
name: '对象形式的style',
styleObj: {
fontSize:'24px',
color:"#069",
border:"1px solid #069",
backgroundColor:"#B9EBFF"
}
}
})

提示:样式对象的语法命名是 JS 的方式,样式名写错不报错,也不显示效果;

看下效果:

Vue2(笔记08) - Vue核心 - 绑定Class样式、绑定Style样式_Vue_06


其他写法

也可以在 data 里写成 字符串属性或数组属性形式的,用的不多,不演示了;


【绑定样式:class样式】:

写法: ​:class="xxx"​ ,xxx 可以是字符串、对象、数组;

1)字符串写法适用于:类名不确定,要动态获取;

2)对象写法适用于:要绑定多个样式,个数不确定,名字也不确定;

3)数组写法适用于:要绑定多个样式,个数确定,名字也确定,但不确定用不用;

【绑定样式:style样式】:

:style ="{fontSize:xxx}"  其中 xxx 是动态值;

:style = "[a,b]" 其中 a、b 是样式对象;





标签:Style,Vue,name,样式,绑定,数组,xxx
From: https://blog.51cto.com/ahuiok/5904126

相关文章

  • CSS层叠样式表
    目录CSS前戏1.css语法结构2.css注释语法3.引入css的多种方式CSS基本选择器1.标签选择器2.类选择器3.id选择器4.通用选择器CSS组合选择器CSS前戏主要用来调节html标签的各......
  • 表单标签补充及css层叠样式
    表单标签补充及css层叠样式一、表单知识点补充1.获取用户输入的标签两大重要属性name属性:类似于字典的键value属性:类似于与字典的值#form表单朝后端发送数据的时候,标......
  • Web前端开发:CSS层叠样式表
    目录CSS层叠样式表-html标签的两大重要属性1.class属性2.id属性一、CSS语法结构1.语法结构2.CSS注释语法3.引入CSS的多种方式(1)嵌入式(2)外链式(3)内联样式二、CSS选择器1.CSS基......
  • CSS层叠样式表
    今日内容概要表单标签补充说明CSS层叠样式表如何查找标签如何添加样式今日内容详细表单标签的补充说明基于form表单发送数据1.用于获取用户数据的标签......
  • BLE配对与绑定(二)
    前言:前篇博客对配对绑定的流程进行了讲解,接下来针对CH582芯片的加密操作进行讲解。 一、手机连接peripheral加密处理用户为了安全一般会在蓝牙连接的时候进行加密的处......
  • CSS层叠样式表
    CSS层叠样式表CSS简介CSS主要用来调节html标签的各种样式。对于html大量的标签,我们首先要有寻找标签的能力,才能对各类标签和各个标签进行精准的修改。所以CSS的学习主......
  • 进入python的世界_day43_前端——表单的补充、CSS的学习(选择器、样式调节)
    一、表单标签的补充关于form​ 如果没有value前端就不会发送数据到后端,字典必须齐备关于Input​ input一般前面要配一个label,然后labelfor属性绑定input的id,......
  • 基础css样式
    目录css层叠样式表css选择器伪类选择器选择器生效优先级css字体颜色背景css层叠样式表CSS主要是用来调节html标签的各种样式'''思考:页面都是由HTML构成的并且页面上......
  • 前端基础——CSS(如何查找标签、如何添加样式)
    前端基础——CSS(如何查找标签、如何添加样式)一、CSS样式表/*主要用来调节html标签的各种样式思考:页面都是由HTML构成的并且页面上有很多相同的HTML标签但是相同的H......
  • 不使用数据绑定,分层显得更加清晰
    ASPX文件<tableid="list"><thead><tr><td>ID</td><td>......