文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Vue的样式绑定详解

2024-04-02 19:55

关注

1. 样式绑定(class、style)

1.1 绑定class

固定的类名就正常的写,需要动态绑定的类名就v-bind去绑定它

例如::class= "mood"

下面举一些适用的场景:

1.绑定class样式—字符串写法,适用于:样式的类名不确定,需要动态指定

2.绑定class样式 — 数组写法使用的场景 :绑定的样式的个数不确定,名字也不确定

3.绑定class样式 — 对象写法使用的场景:绑定的个数确定的,名字也确定,不确定的是用不用该类名

 <body>
    <style>
        .basic {
            width: 100px;
            height: 100px;
            border: 2px solid black;
        }
        .happy {
            width: 100px;
            height: 100px;
            border: 2px solid orange;
            background-color: palevioletred;
        }
        .sad {
            width: 100px;
            height: 100px;
            border: 2px solid black;
            background-color: silver;
        }
        .normal {
            width: 100px;
            height: 100px;
            border: 2px solid greenyellow;
            background-color: sandybrown;
        }
        .outline {
            border-radius: 20%;
        }
        .color {
            color: skyblue;
        }
        .size {
            font-family: '微软雅黑';
            font-size: 20px;
            font-weight: bold;
        }
    </style>
    <div id="root">
        <!-- 
            需求1 :点击div1 随机切换mood
            绑定class样式  ---  字符串写法
            1. 固定的class类名就正常写,需要动态指定的class类名就  :class="xxx"  写到这里面
            2. 使用的场景 : 样式的类名不确定,需要去动态指定
         -->
        <div class="div1 basic" :class="mood" @click="random">{{name}}</div>

        <!-- 
            需求2 : 点击div2 添加类,或者删除类
            绑定class样式  --- 数组写法
            1. 使用的场景 :绑定的样式的个数不确定,名字也不确定
            2. shift() :移除数组中第一个数据, push("xxx");在末尾添加一个新的数据
         -->
        <div class="div2 basic" :class="classArr" @click = "remove">{{name}}</div> 

        <!-- 注意点:在vue操作下 " " 里面的写的字符串是表达式," '' " 里面写的字符串就是值   -->
        <!-- <div class="div2 basic" :class="['outline','color','size']"></div> -->

        <!-- 
            需求3 :在outline和color之间进行切换
            绑定class样式  --- 对象写法
            使用的场景:绑定的个数确定的,名字也确定,不确定的是用不用该类名
         -->
         <div class="div3 basic" :class="classObj" @click="change">{{name}}</div>
    </div>
    <script>
        Vue.config.productionTip = false
        let vm = new Vue({
            el: '#root',
            data: {
                name: "Hello,Vue!",
                mood: "normal",
                classArr:['outline','color','size'],
                classObj:{
                    outline:true,
                    color:true
                }
            },
            methods: {
                random() {
                    let arr = ["happy", "sad", "normal"]
                    // Math.floor : 表示向下取整, Math.random():取值是0-1,1是取不到的
                    this.mood = arr[Math.floor(Math.random() * 3)]
                },
                remove(){
                    this.classArr.shift()
                },
                change(){
                   vm.classObj.color = !vm.classObj.color
                   vm.classObj.outline = !vm.classObj.outline
                }
            }
        })
    </script>

1.2 绑定style

例如::style = "styleobj"

<div id="root" :style="styleobj">
        Hello,{{name}}!
    </div>
    <script>
        Vue.config.productionTip = false
        let vm = new Vue({
            el: '#root',
            data: {
                name:"Vue",
                styleobj:{
                    fontSize: 50 + "px",
                    color: "red",
                    border:1+"px"+" "+"solid"+" "+"black"             
                }
            }
        })
    </script>

总结

本篇文章就到这里了,介绍了class和style如何绑定,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!    

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯