vue-class和style样式绑定

前言
操作元素的 class 样式列表和 style 内联样式为数据绑定是前端开发中一个常见的需求,这些样式都属于元素的属性 attribute ,因此我们可以通过 v-bind 来动态绑定元素的样式属性。本文来总结一下这两个属性相关的知识点,便于日后的复习学习。
正文
1.class的动态绑定
(1)对象语法,即class动态绑定一个对象。
<style>
.red {
color: red;
}
.green {
color: green;
}
</style>
<div id="app">
<!-- 绑定html clas样式 -->
<div :class="{red:isRed,green:isGreen}">对象语法1</div>
<div :class="classObj1">对象语法2</div>
<div :class="classObj2">对象语法3</div>
</div>
<script>
new Vue({
el: "#app",
data() {
return {
isRed: true,
isGreen: false,
classObj1: {
red: true,
green: false,
},
}
},
computed: {
classObj2() {
return {
red: true,
green: false,
}
},
},
})
</script>
运行结果如下:
对于对象语法1:class 绑定一个字面量类型的对象值,其中 red 属性值为 true,green 属性值为 false ,最终结果为绑定了red类选择器的样式。
对于对象语法2和语法3:class 绑定一个对象的名,并非具体的对象的值,该键名对应了具体的对象value值,该对象的 red 属性为true,green属性为false,最终结果为绑定了red类型选择器的样式,语法2和语法3的区别在于对象的声明在计算属性还是data中。
(2)数组语法,即class动态绑定一个数组类型
<style>
.red {
color: red;
}
.green {
color: green;
}
</style>
<div id="app">
<!-- 绑定html clas样式 -->
<div :class="[classRed,classGreen]">数组语法1</div>
<div :class="[isRed?'red':'']">数组语法2</div>
<div :class="classArr">数组语法3</div>
<div :class="[{red:isRed},classGreen]">数组中对象混合用法</div>
</div>
<script>
new Vue({
el: "#app",
data() {
return {
isRed: true,
isGreen: false,
classRed: "red",
classGreen: "green",
classArr:["red","green"],
}
}
}) </script>
运行结果如下:
对于数组语法1:class绑定一个数组值,其中数组中的元素代表每一个类选择器的样式,最终绑定结果为red和green选择器的样式,当color样式重复,页面渲染后面的样式,颜色为绿色。
对于数组语法2:class绑定一个数组值,只有一个元素,第一个元素由条件表达式确定。样式渲染如上。
对于数组语法3:class绑定一个数组名,并非具体的数组值,该名对应了具体的数组 value 值。
对于数组语法4:class绑定一个数组,数组中第一个元素为一个对象,不难理解。
(3)代码中常用的样式绑定
<style>
.red {
color: red;
}
</style>
<div id="app">
<div :class="isRed?'red':''">代码中常用class绑定</div>
</div>
<script>
new Vue({
el: "#app",
data() {
return {
isRed: true,
}
}
})
</script>
运行结果如下:
2.style的动态绑定
<div id="app">
<!-- 绑定内联样式 -->
<div :style="{color:styleRed}">对象语法1</div>
<div :style="styleObj1">对象语法2</div>
<div :style="styleObj2">对象语法3</div>
<div :style="[styleObj1]">数组语法</div>
</div>
<script>
new Vue({
el: "#app",
data() {
return {
styleRed: "red",
styleObj1: {
color: "red"
}
}
},
computed: {
styleObj2() {
return {
color: "red"
}
}
},
})
</script>
运行结果如下:
style动态绑定样式,不需要再style标签中添加对应的类选择器,和原生js修改css样式十分接近。
写在最后
以上就是本文的全部内容,希望给读者带来些许的帮助和进步,方便的话点个关注,小白的成长踩坑之路会持续更新一些工作中常见的问题和技术点。

vue-class和style样式绑定的更多相关文章
- vue 自学笔记(4): 样式绑定与条件渲染
一:对象绑定 Vue 对于页面的样式加载也有独特的方式,按照 Vue 提供的方式,我们可以轻松的控制它们的呈现. 假使我们要实现点击 div 变色 Vue 提供的样式方案的本质是对元素节点进行属性的绑 ...
- vue 动态添加 <style> 样式 vue动态添加 绑定自定义字体样式
created(){ //动态添加自定义字体样式 let style = document.createElement('style'); style.type = "text/css&qu ...
- Vue.js 内联样式绑定style
html <div class="Menu" v-bind:style="{height:clientHeight}"> </div> ...
- vue基础篇---class样式绑定
因为class的绑定在实际的工作中会经常用到.所以特意记录一下,有好几种方法. 对象绑定方法,另外一个值来控制显示隐藏 <!DOCTYPE html> <html lang=&quo ...
- VUE中的style 样式处理的Scope (<style scope>)
在VUE组件中,为了让样式私有化,不对全局造成污染,可以在style标签上添加scoped属性以表示它的只属于当下的模块. 但是这样的话,就会导致无法修改其他第三方组件样式,或者是内嵌的样式,解决方案 ...
- Vue样式绑定、事件绑定
1.样式绑定 1.1class类标签绑定 <p :class="对象"> <p :class="数组"> <p :class=&q ...
- Vue基础语法(样式绑定,事件处理,表单,Vue组件)
样式绑定 事件处理 表单 Vue组件 样式绑定 <!DOCTYPE html> <html> <head> <meta charset="utf-8 ...
- Vue.js之Vue计算属性、侦听器、样式绑定
前言 上一篇介绍了Vue的基本概念,这一篇介绍一下Vue的基本使用. 一.搭建一个Vue程序 1.1 搭建Vue环境 搭建Vue的开发环境总共有三种方法: 引入CDN <script src=& ...
- 3-5 Vue中的样式绑定
Vue中的样式绑定: 本案例,简单设计一个<div>的点击绑定事件来改变div的样式效果 方法一:[class] ①(class和对象的绑定) //如上,运用class和一个对象的形式来解 ...
随机推荐
- 谷粒商城--分布式高级篇P102~P128
谷粒商城--分布式高级篇P102~P128 由于学习的时间也比较少,只有周六周末才有时间出来学习总结,所以一篇一篇慢慢更新吧,本次总结内容为Elasticsearch(相关内容:kibana,es,n ...
- Idea快捷键 累积大全
分类 Editing 这个 Searching/Replcae Navigation Atl +1 打开和关闭左侧p ...
- 小技巧 | Get 到一个 Web 自动化方案,绝了!
1. 前言 大家好,我是安果! 无论是 Chrome,还是 Firefox 浏览器,它们的强大性在很大程度上都是依赖于海量的插件,让我们能高效办公 那我们是否可以编写一个插件,让浏览器自动化完成一些日 ...
- 腾讯云TDSQL监控库密码忘记问题解决实战
首先,给大家介绍一下TDSQL.TDSQL MySQL 版(TDSQL for MySQL)是腾讯打造的一款分布式数据库产品,具备强一致高可用.全球部署架构.分布式水平扩展.高性能.企业级安全等特性, ...
- vue 快速入门 系列 —— vue-cli 上
其他章节请看: vue 快速入门 系列 Vue CLI 4.x 上 在 vue loader 一文中我们已经学会从零搭建一个简单的,用于单文件组件开发的脚手架:本篇,我们将全面学习 vue-cli 这 ...
- RabbitMQ入门案例
RabbitMQ入门案例 Rabbit 模式 https://www.rabbitmq.com/getstarted.html 实现步骤 构建一个 maven工程 导入 rabbitmq的依赖 启动 ...
- Spring Cloud Alibaba - SkyWalking
SkyWalking 简介 分布式链路跟踪是分布式系统的应用程序性能监视工具,专为微服务.云原生架构和基于容器(Docker.K8s)架构而设计: 也就是说Skywalking是用于微服务的" ...
- Apache网页优化与安全
目录 一.Apache网页优化 1.1.概述 1.2.gzip介绍 1.3.Apache的压缩模块 二.网页压缩实验 2.1.检查是否安装mod_deflate模块 2.2.重新编译安装Apache添 ...
- XML外部实体注入 安鸾 Writeup
XML外部实体注入01 XML外部实体注入,简称XXE 网站URL:http://www.whalwl.host:8016/ 提示:flag文件在服务器根目录下,文件名为flag XML用于标记电子文 ...
- WooYun虚拟机的搭建及配置方法
"当时代需要时,他们勇敢地站了出来.当潮水褪去时,他们等待新的使命.他们等待被抛弃或者被怀念,等待这个世界告诉他们善恶和对错." 记录一下复活乌云的过程. 第一步:虚拟机下载 网上 ...