vue怎么在元素上增加样式
短信预约 -IT技能 免费直播动态提醒
本教程操作环境:windows7系统、vue3版,DELL G3电脑。
vue中的添加样式
一、使用class样式:
类名必须用引号 引起来;
1、数组
<h1 :class = "['类名1','类名2']">这种方法 需要用 v-bind: => : 绑定</h1>
2、数组中使用三元表达式
<h1 :class = "['类名1','类名2',表达式?'类名3':'']">这种方法 需要用 v-bind: => : 绑定</h1>
3、数组中嵌套对象
<h1 :class = "['类名1','类名2',{属性名(类名):'属性值(true或false)}]">这种方法 需要用 v-bind: => : 绑定</h1>
4、直接适用对象
<h1 :class = "{属性名(类名1):true,属性名(类名2):true}">这种方法 需要用 v-bind: => : 绑定</h1>
二、使用内联样式;
1、直接在元素上通过 :style 的形式
<h1 :style = "{'样式名':'样式值'}">这种方法 需要用 v-bind: => : 绑定</h1>
2、将样式对象,定义到data 中,在引用到 :style 中
<h1 :style = "vue里的样式">这种方法 需要用 v-bind: => : 绑定</h1>
3、在 :style 中通过数组,引用多个 data 上的样式对象;
<h1 :style = "[data1,data2]">这种方法 需要用 v-bind: => : 绑定</h1>
代码实例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Vue样式的运用</title>
<style>
* {
margin: 0;
padding: 0;
}
.box {
width: 150px;
height: 150px;
background: skyblue;
line-height: 150px;
text-align: center;
}
.border {
border-radius: 50%;
}
.color {
color: #fff;
font-size: 24px;
}
</style>
</head>
<body>
<div id="app">
<button @click="tagger = !tagger">切换</button>
<!-- 添加样式/切换样式 -->
<!-- 对象方式 border 数据模型 tagger 真假 真显示 假隐藏-->
<!-- <div class="box" :class="{'border':tagger}">添加style样式</div> -->
<!-- 表达式 -->
<!-- <div :class="tagger ? 'border' : ''" class="box">添加style样式</div> -->
<!-- 数组 -->
<div :class="tagger ? ['box','border'] : ['box']">添加style样式</div>
</div>
<script class="lazy" data-src="https://cdn.jsdelivr.net/npm/vue"></script>
<script>
let vm = new Vue({
el: '#app',
data: {
tagger : true,
vstyle : ['border','box'],
vObj : {"border":true,"color":true,"box":true}
},
methods: {
}
})
</script>
</body>
</html>
(学习视频分享:vuejs入门教程、编程基础视频)
以上就是vue怎么在元素上增加样式的详细内容,更多请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341