样式绑定:class =“[]/{}“

样式绑定

对于一个相对美观的网站肯定离不开样式操作,Vue也提供了相关的样式处理,样式处无非是两种方式,一种是通过类名class来影响标签的样式,另外一种是直接操作标签的style属性从而定义标签的内部样式。这两种方式vue都支持。

  1. class样式处理
  • 对象语法
 <div v-bind:class = "{ active :isActive}"><div>
  • 数组语法
<div v-bind:class = "[activeClass,errorClass]"></div>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style type = "text/css">
        .active{
            border:1px solid red;
            width:100px;
            height:100px;
        }  
        .error {
            background-color: orange;
        }  
    </style>
</head>
<body>
    <div id = "app">
        <!-- 有时候希望样式被动态的控制 -->
        <!-- 类名以一个对象的方式 对象里面可以包含键值对-->
        <!-- 键值对的左边是类名 右边需要提供属性来控制类名是否显示-->
        <!-- 一般类名对应的属性是以is开头,作为标志位,要么truth要么false-->

        <div v-bind:class="{active: isActive,error: isError}">测试样式</div>
        <button v-on:click = "handle">切换</button>
    </div>
    <script src="vue.js"></script>
    <script>
        /*样式绑定*/
        var vm = new Vue({
            el:'#app',
            data: {
                isActive: true,
                isError:true
            },
            methods: {
                handle:function(){
                    // 控制isActive的值在true和false之间进行切换
                    this.isActive = !this.isActive;
                    this.isError = !this.isError;
                }
            }
        }) 
    </script>
</body>
</html>

在这里插入图片描述

在这里插入图片描述

样式的动态处理实际上就是控制类名是否添加到便签里面。
通过v-bind绑定class属性,它的值通过对象的方式,可以控制类名是否显示,如果后面的值是truth那类名就是显示的,如果是false那就是不显示。要想控制多个类名就在对象里边用,逗号分开,添加多个键值对

  • 数组语法
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style type = "text/css">
        .active{
            border:1px solid red;
            width:100px;
            height:100px;
        }  
        .error {
            background-color: orange;
        }  
    </style>
</head>
<body>
    <div id = "app">
        <!-- 有时候希望样式被动态的控制 -->
        <!-- 类名以一个对象的方式 对象里面可以包含键值对-->
        <!-- 键值对的左边是类名 右边需要提供属性来控制类名是否显示-->
        <!-- 一般类名对应的属性是以is开头,作为标志位,要么truth要么false-->

        <div v-bind:class="[activeClass,errorClass]">测试样式</div>
        <button v-on:click = "handle">切换</button> 
    </div>
    <script src="vue.js"></script>
    <script>
        /*样式绑定*/
        var vm = new Vue({
            el:'#app',
            data: {
                activeClass:'active',
                errorClass:'error'
            },
            methods: {
                handle:function(){
                    // 控制isActive的值在true和false之间进行切换
                    this.activeClass = "";
                    this.errorClass = "";
                }
            }
        }) 
    </script>
</body>
</html>

class样式处理数组语法中直接需要定义相关的属性,属性的值表示的是实例的类名,要想加多个类名的话就往数组里面加多个这样子的属性,他们的值都会作为最终的类名渲染到便签的class属性当中。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在这段代码中,按钮的高亮通过 `:class` 绑定和 `activeButton` 数据来控制。具体步骤如下: 1. 在 Vue 组件的 `data` 中定义一个 `activeButton` 属性,用于跟踪当前高亮的按钮: ```javascript export default { data() { return { activeButton: '1m' // 初始化为默认高亮的按钮值 } }, // ... } ``` 2. 在模板中使用 `:class` 绑定来设置按钮的样式,并使用条件判断 `activeButton === '按钮值'` 来决定是否添加 `active` 类: ```html <template> <div class="main-kline-cycle"> <el-button type="info" :class="{ active: activeButton === '1m' }" @click="handleButtonClick('1m')">1m</el-button> <el-button type="info" :class="{ active: activeButton === '5m' }" @click="handleButtonClick('5m')">5m</el-button> <el-button type="info" :class="{ active: activeButton === '30m' }" @click="handleButtonClick('30m')">30m</el-button> <el-button type="info" :class="{ active: activeButton === '1h' }" @click="handleButtonClick('1h')">1h</el-button> <el-button type="info" :class="{ active: activeButton === '4h' }" @click="handleButtonClick('4h')">4h</el-button> <el-button type="info" :class="{ active: activeButton === '1d' }" @click="handleButtonClick('1d')">1d</el-button> <el-button type="info" :class="{ active: activeButton === '1w' }" @click="handleButtonClick('1w')">1w</el-button> </div> </template> ``` 3. 在方法中定义 `handleButtonClick`,用于更新 `activeButton` 的值: ```javascript export default { // ... methods: { handleButtonClick(buttonValue) { this.activeButton = buttonValue; } } } ``` 这样,当按钮被点击时,`activeButton` 的值会更新,从而改变按钮的高亮状态。你可以根据实际需求修改样式和按钮的值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值