零基础入门Vue之皇帝的新衣——样式绑定

这篇具有很好参考价值的文章主要介绍了零基础入门Vue之皇帝的新衣——样式绑定。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

回顾

大致掌握了上一节的 插值语法 我已经可以把想要的数据显示到页面上,并且仅需要修改变量,页面就会跟着实时改变

但如果对于已经熟悉前端的人来说,单单有数据还是不太行,还需要css对数据进行样式的修饰,让页面更加好看

所本篇将记录记录 Class 与 Style 绑定 的学习

总所周知,想要给DOM增加元素有两种方式,一种采用class选中,一种是直接内联样式绑定

  • 绑定 HTML Class
  • 绑定内联样式

绑定HTML Class

Vue对于绑定Class提供了两种语法:

  • 对象语法
  • 数组语法

请务必准备好以下css样式,并且能在HTML中索引到

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://v2.cn.vuejs.org/js/vue.js"></script>
    <title>Document</title>
    <style>
        body{
            height: 100%;
        }
        div{
            width: 500px;
        }
        .style1{
            font-size: larger;
            text-align: center;
        }

        .style2{
            color: blueviolet;
            height: 500px;
        }

        .style3{
            background-color: pink;
            line-height: 500px;
        }
    </style>
</head>
<body>
    <div class="">Hello world</div>
</body>
<script>
    
</script>
</html>

如果按照正常写法,也可以直接这么做

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://v2.cn.vuejs.org/js/vue.js"></script>
    <title>Document</title>
    <style>
        body{
            height: 100%;
        }
        div{
            width: 500px;
        }
        .style1{
            font-size: larger;
            text-align: center;
        }

        .style2{
            color: blueviolet;
            height: 500px;
            line-height: 500px;
        }

        .style3{
            background-color: pink;
        }
    </style>
</head>
<body>
    <div id="root" :class="className">Hello world</div>
</body>
<script>
    new Vue({
        el:"#root",
        data:{
          className:"style1"
        }
    })
</script>
</html>

那么接下来,正文开始.....


对象语法

在对象语法中,可以在data里面,配置一个key为style名称,值为Boolean的对象,当使用v-bind绑定class时。

class可以是上面说的创建的对象,如果那个key的value为true,那么该样式就是启用的,反之不启用

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://v2.cn.vuejs.org/js/vue.js"></script>
    <title>Document</title>
    <style>
        body{
            height: 100%;
        }
        div{
            width: 500px;
        }
        .style1{
            font-size: larger;
            text-align: center;
        }

        .style2{
            color: blueviolet;
            height: 500px;
            line-height: 500px;
        }

        .style3{
            background-color: pink;
        }
    </style>
</head>
<body>
    <div id="root" :class="classObj">Hello world</div>
</body>
<script>
    new Vue({
        el:"#root",
        data:{
            classObj:{ //该对象的key可以为class的样式名称
                style1:true, //开启字体水平居中 字体放大
                style2:false, //关闭字体颜色 div高度 垂直居中
                style3:true,  //开启背景颜色 
            }
        }
    })
</script>
</html>

数组语法

绑定样式还有另外一种语法,也就是 数组语法

当绑定的class是一个数组时,Vue会默认这个 数组全是样式的名称,这些样式是可以叠加的

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://v2.cn.vuejs.org/js/vue.js"></script>
    <title>Document</title>
    <style>
        body{
            height: 100%;
        }
        div{
            width: 500px;
        }
        .style1{
            font-size: larger;
            text-align: center;
        }

        .style2{
            color: blueviolet;
            height: 500px;
            line-height: 500px;
        }

        .style3{
            background-color: pink;
        }
    </style>
</head>
<body>
    <div id="root" :class="classList">Hello world</div>
</body>
<script>
    new Vue({
        el:"#root",
        data:{
          className:"style1",
          classList:["style1","style2","style3"] //把需要的样式装入数组
        }
    })
</script>
</html>

小技巧

对于默认固定的样式,可以直接使用class,对于动态变动的样式,可以另外起一个”v-bind:class“

Vue在解析的时候会把它们叠加在一起

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://v2.cn.vuejs.org/js/vue.js"></script>
    <title>Document</title>
    <style>
        body{
            height: 100%;
        }
        div{
            width: 500px;
        }
        .style1{
            font-size: larger;
            text-align: center;
        }

        .style2{
            color: blueviolet;
            height: 500px;
            line-height: 500px;
        }

        .style3{
            background-color: pink;
        }
    </style>
</head>
<body>
    <!-- 默认样式style1写死不变 -->
    <div id="root" class="style1" :class="classList">Hello world</div>
</body>
<script>
    new Vue({
        el:"#root",
        data:{
          className:"style1",
          classList:["style2","style3"] //把需要的样式装入数组
        }
    })
</script>
</html>

绑定内联样式

Vue对于内联样式也有两种绑定方式

  • 对象语法
  • 数组语法

对象语法

Vue允许将css对象直接配置成键值对,例如:

.style1{
  background-color:red;
}

可以直接配置成js对象的

{
  backgroundColor:'red',
}

注:其中要去掉”-“,然后采用驼峰命名方式,当然你也可以使用字符串的对象形式,例如:{'background-color':'red'}

具体代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="./vue.js"></script>
    <title>Document</title>
    <style>
        body{
            height: 100%;
        }
        div{
            width: 500px;
        }
    </style>
</head>
<body>
    <div id="root" :style="styleObj">Hello world</div>
</body>
<script>
    new Vue({
        el:"#root",
        data:{
          styleObj:{
            fontSize: 'larger',
            textAlign: 'center',
            color: 'blueviolet',
            height: '500px',
            lineHeight: '500px',
            'background-color': 'pink' //采用字符串,原模原样写也可以
          }
        }
    })
</script>
</html>


数组语法

这个数组的语法和对象语法类型,都是把写好的样式塞进数组,Vue会自动解析,因为用的不多,再次就不再详细解释

去官网详细看看吧~


End

本节完~~~~~~文章来源地址https://www.toymoban.com/news/detail-825136.html

到了这里,关于零基础入门Vue之皇帝的新衣——样式绑定的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue3-类与样式绑定

    Class 与 Style 绑定 class 和 style 都是 attribute,我们可以和其他 attribute 一样使用 v-bind 将它们和动态的字符串绑定。 Vue 专门为 class 和 style 的 v-bind 用法提供了特殊的功能增强。除了字符串外,表达式的值也可以是对象或数组。 绑定class :class (v-bind:class 的缩写) 传递一个对象来

    2024年01月19日
    浏览(41)
  • 【vue】Vue中class样式的动态绑定

    简介: Vue 中 class 样式的绑定 1、字符串写法 使用场景 :样式的类型不确定 写法: 手动触发样式改变 注意:字符串使用的是vue实例data中已有的属性 2、对象写法 使用场景 :样式个数、类名确定,通过Bollean动态展示与否 写法: 对象写在内联样式 对象写在data中 3、数组写法

    2024年02月15日
    浏览(37)
  • vue动态绑定style样式之动态添加style样式的多种写法

    项目中会需要动态添加 style 行内样式,现指出常用的几种方式。 注意: 1、凡是有 - 的style属性名都要变成驼峰式,比如font-size要变成 fontSize。 2、除了绑定值,其他的属性名的值要用引号括起来,比如 fontSize:\\\'14px\\\' 而不是 fontSize :14px。 对象形式 data(){ return { baseStyles: { width:

    2024年04月17日
    浏览(57)
  • Vue3浅谈:(三)Vue3类与样式绑定

    目录 一、Vue3 Class 绑定 1.Vue3 Class 绑定基础 绑定对象: 绑定数组 二、Vue3 Style 绑定 1.Vue3 Style  绑定基础 绑定对象: 绑定数组: 自动前缀 : 样式多值: 数据绑定的一个常见需求场景是操纵元素的 CSS class 列表和内联样式。我们可以使用  v-bind  将它们和动态的字符串绑定

    2024年02月02日
    浏览(30)
  • Vue教程(五):样式绑定——class和style

    样式提前准备 绑定class样式——字符串写法 适用于: 样式的类名不确定,需要动态指定 html: js: 效果: 绑定class样式——数组写法 适用于: 要绑定的样式个数不确定,名字也不确定 html: js 效果: 绑定class样式——对象写法 适用于: 要绑定的样式个数确定,名字也确定,

    2024年02月12日
    浏览(35)
  • vue快速入门(八)绑定方法

    注释很详细,直接上代码 上一篇· 新增内容 v-if与button响应回顾 事件方法写法 源码 效果演示

    2024年04月10日
    浏览(24)
  • Rust 基础入门 —— 变量绑定与解构

    摸个笔记 首先讨论的第一点,就是对于传统的开发者来说明:为什么要去用 这样手动设定的方式设定变量的可行性。 Course给出的解释是——苦一苦开发,乐一乐运维。 好吧,让我们理解,程序员的懒惰和贪婪是无止境的,我们想要一种类型自行推断,但是性能提高、安全非

    2024年02月09日
    浏览(36)
  • 【vue】笔记三:Vue基础语法以及数据绑定

    1. 插值 Vue中最常用的语法之一就是插值(interpolation),可用于显示文本、HTML等。在Vue中,插值的语法是使用双大括号和v-bind指令进行插值。 插值语法: 以上示例中的 message 可以是一个变量,也可以是一个表达式,都可通过Vue的数据绑定机制进行绑定。 2. v-bind指令 v-bind指令

    2024年02月06日
    浏览(54)
  • WPF 入门笔记 - 04 - 数据绑定 - 补充内容:资源基础

    宇宙很大,生活更大,也许以后还有缘相见。 --三体 🌌 💭 该篇作为[WPF 入门笔记 - 04 - 数据绑定] - Additional Content 章节的补充内容 XAML 资源概述 (WPF .NET) WPF中的每一个元素都有一个 Resources 属性,该属性存储了一个资源字典集合。一般来说,可以把WPF的资源按照不同的性质分

    2024年02月11日
    浏览(40)
  • WPF 零基础入门笔记(3):数据绑定详解(更新中)

    WPF基础知识博客专栏 WPF微软文档 WPF控件文档 B站对应WPF数据绑定视频教程 我们在之前的文章中,详细解释了数据模版和控件模板。简单来说数据模板和控件模板就是为了解决代码重复的问题。我们可以回顾一下之前的所有内容。 为了不写重复的样式,WPF提供了样式设置 为了

    2024年02月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包