码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Vue3 样式绑定


    Vue3 样式绑定

    • 1.Vue.js class
    • 2.class 属性绑定
    • 3.Vue.js style(内联样式)
    • 4.组件上使用 class 属性

    1.Vue.js class

    class 与 style 是 HTML 元素的属性,用于设置元素的样式,我们可以用 v-bind 来设置样式属性。

    v-bind 在处理 class 和 style 时, 表达式除了可以使用字符串之外,还可以是对象或数组。

    v-bind:class 可以简写为 :class。


    2.class 属性绑定

    我们可以为 v-bind:class 设置一个对象,从而动态的切换 class:

    <style>
        .active {
            width: 100px;
            height: 100px;
            background: blueviolet;
        }
    style>
    <body>
    <div id="app">
        <div :class="{'active':isActive}">div>
    div>
    <script>
        const app = {
            data() {
                return {
                    isActive: true
                }
            }
        }
    
        Vue.createApp(app).mount('#app')
    script>
    body>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    实例中将 isActive 设置为 true 显示了一个蓝色的 div 块,如果设置为 false 则不显示

    注意:也可以在对象中传入更多属性用来动态切换多个 class,此外,:class 指令也可以与普通的 class 属性共存🎀

    例如:

    <div class="static" :class="{ 'active' : isActive, 'text-danger' : hasError }">div>
    
    • 1

    我们可以把一个数组传给 v-bind:class ,实例如下:

    <div class="static" :class="[activeClass, errorClass]">div>
    
    • 1

    以上实例 div class 渲染结果为:

    <div class="static active text-danger">div>
    
    • 1

    3.Vue.js style(内联样式)

    我们可以在 v-bind:style 直接设置样式,可以简写为 :style:

    <div id="app">
        <div :style="{ color: activeColor, fontSize: fontSize + 'px' }">hahahadiv>
    div>
    
    <script>
        const app = {
            data() {
                return {
                    activeColor: 'blue',
                    fontSize: 30
                }
            }
        }
    
        Vue.createApp(app).mount('#app')
    script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    渲染效果:

    在这里插入图片描述

    v-bind:style 可以使用数组将多个样式对象应用到一个元素上:

    <div id="app">
        <div :style="[baseStyles, overridingStyles]">hahahadiv>
    div>
    <script>
        const app = {
            data() {
                return {
                    baseStyles: {
                        color: 'green',
                        fontSize: '30px'
                    },
                    overridingStyles: {
                        'font-weight': 'bold'
                    }
                }
            }
        }
        Vue.createApp(app).mount('#app')
    script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    渲染效果:

    在这里插入图片描述


    4.组件上使用 class 属性

    当你在带有单个根元素的自定义组件上使用 class 属性时,这些 class 将被添加到该元素中。此元素上的现有 class 将不会被覆盖。

    例如:

    <div id="app">
        <dahe class="classC classD">dahe>
    div>
    <script>
        // 创建一个Vue 应用
        const app = Vue.createApp({})
    
        app.component('dahe', {
            template: '

    I like dahe!

    '
    }) app.mount('#app')
    script>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    渲染结果如下:

    在这里插入图片描述

  • 相关阅读:
    CentOS8上部署NFS服务端和客户端
    网络层协议 ——— IP协议
    TikTok社交心理学:短视频如何连接人心
    Linux下普通用户(非root用户)安装Java,Java程序能编译不能运行的原因
    《精通特征工程》学习笔记(6):非线性特征化与k-均值模型堆叠
    Nginx入门+实战
    【零基础入门MyBatis系列】第十三篇——缓存机制
    思科配置VTP的实际操作,gns3演示
    服务器数据恢复—异常断电导致ESXi虚拟机无法启动的数据恢复案例
    nacos-v2.1.0持久化
  • 原文地址:https://blog.csdn.net/Gherbirthday0916/article/details/128193063
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号