Vue学习之样式处理

Vue学习之样式处理Vue学习之样式处理

大家好,又见面了,我是你们的朋友全栈君。

Vue样式处理

一、class

我们首先来看下class属性的使用。

1.基本的class使用

我们先来看下非vue情况的class的使用,如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="./lib/vue-2.4.0.js"></script>
    <style>
        .red {
            color: red;
        }

        .thin {
             font-weight: 200;
        }

        .italic {
            font-style: italic;
        }

        .active {
            letter-spacing: 0.5em;
        }
    </style>
</head>
<body>
    <div id="app">
        <h1 class="red thin">vue中的样式设置1</h1>

    </div>

    <script>
        var vm = new Vue({
            el:"#app",
            data:{

            },
            methods:{

            }
        })
    </script>
</body>
</html>

效果

在这里插入图片描述

2.绑定数组

在这里插入图片描述

效果

在这里插入图片描述

3.三目运算

在绑定的数组中我们还可以通过三目运算来实现简单的逻辑,如下

在这里插入图片描述

效果如下:

在这里插入图片描述

通过效果也可以看出来随着flag的改变,效果也不一样咯~

4.数组中使用对象

上面例子中的三目运算符我们可以替换为对象,效果是一样的。

在这里插入图片描述

效果

在这里插入图片描述

5.绑定数组

上面都是将数据和view写在一块了,我们也可以将数据直接写在vm中,如下:

在这里插入图片描述

效果演示:

在这里插入图片描述

通过演示也可以看到,通过绑定对象也是可以的。完整代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="./lib/vue-2.4.0.js"></script>
    <style>
        .red {
            color: red;
        }

        .thin {
             font-weight: 200;
        }

        .italic {
            font-style: italic;
        }

        .active {
            letter-spacing: 0.5em;
        }
    </style>
</head>
<body>
    <div id="app">
        <!--基本使用-->
        <h1 class="red thin">vue中的样式设置1</h1>
        <!--通过v-bind 绑定数组 v-bind 可简写为 ':'-->
        <h1 v-bind:class="['red','thin']">vue中的样式设置2</h1>
        <h1 :class="['red','thin']">vue中的样式设置3</h1>
        <!--绑定的数组中添加 三目逻辑-->
        <h1 :class="['red','thin',flag?'active':'']">vue中的样式设置4</h1>
        <!--绑定的数组使用对象-->
        <h1 :class="['red','thin',{'active':flag}]">vue中的样式设置5</h1>
        <!--绑定一个vm中的对象-->
        <h1 :class="classObj">vue中的样式设置6</h1>
    </div>

    <script>
        var vm = new Vue({
            el:"#app",
            data:{
                flag:true,
                classObj:{red:true,thin:true,italic:false,active:false}
            },
            methods:{

            }
        })
    </script>
</body>
</html>

二、style

我们除了可以通过使用class来引用样式外,我们还可以通过style来直接指定样式,Vue也支持此操作,具体如下:

单个style引用

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <script src="./lib/vue-2.4.0.js"></script>
</head>

<body>
  <div id="app">
    <!-- 对象就是无序键值对的集合 -->
    <h1 :style="styleObj1">这是一个h1</h1> 

   
  </div>

  <script>
    // 创建 Vue 实例,得到 ViewModel
    var vm = new Vue({
      el: '#app',
      data: {
        styleObj1: { color: 'red', 'font-weight': 200 }
       
      },
      methods: {}
    });
  </script>
</body>

</html>

效果

在这里插入图片描述

多个style引用

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <script src="./lib/vue-2.4.0.js"></script>
</head>

<body>
  <div id="app">
    <!-- 对象就是无序键值对的集合 -->
    <h1 :style="styleObj1">这是一个h1</h1> 
    <h2 :style="[ styleObj1, styleObj2 ]">这是一个h2</h2>
  </div>

  <script>
    // 创建 Vue 实例,得到 ViewModel
    var vm = new Vue({
      el: '#app',
      data: {
        styleObj1: { color: 'red', 'font-weight': 200 },
        styleObj2: { 'font-style': 'italic' }
      },
      methods: {}
    });
  </script>
</body>

</html>

效果:

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106502.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm2018设置中文界面_pycharm界面

    pycharm2018设置中文界面_pycharm界面pycharm中文版界面设置:(推荐学习:python视频教程)jJ1少儿编程网-Scratch_Python_教程_免费儿童编程学习平台1、找到pycharm的文件安装位置jJ1少儿编程网-Scratch_Python_教程_免费儿童编程学习平台jJ1少儿编程网-Scratch_Python_教程_免费儿童编程学习平台2、找到语言文件应安装的文件夹jJ1少儿编程网-Scratch_Python_…

    2022年8月25日
    5
  • ping指定IP的指定端口_ping命令端口号多少

    ping指定IP的指定端口_ping命令端口号多少ping是简单的测试网络连接情况的小工具,对于一般用户很实用,但是ping有个缺点就是,不能指定端口tcping命令是针对tcp监控的,也可以看到ping值,即使源地址禁ping也可以通过tcpin

    2022年8月1日
    5
  • 好用又好玩的微信小程序大全「建议收藏」

    小马哥去合肥坐公交车,把小程序推广的更加的接地气和实用,微信的巨大用户量,让小程序有天然的流量入口,其次小程序不用下载安装耗费流量,占用手机的存储空间,启动速度比APP相当,下面是网友整理的目前好用的微信小程序大全,有的是软件开放的,有的可能是在好建小程序免费生成的,建议大家根据自己的喜好和需要收藏!【热门小程序】美团外卖滴滴公交查询车来了

    2022年4月11日
    45
  • springboot整合kafka入门

    springboot整合kafka入门springboot整合kafka入门kafka基本概念本机安装kafka测试安装kafka(mac下)本机测试kafkaspringboot整合kafka(IDEA)测试kafka基本概念producer:生产者,负责发布消息到kafkacluster(kafka集群)中。生产者可以是web前端产生的pageview,或者是服务器日志,系统CPU、memory等。consumer:消费者,每个consumer属于一个特定的consuergroup(可为每个consumer指定group

    2025年6月12日
    0
  • 【TensorFlow】查看TensorFlow版本[通俗易懂]

    【TensorFlow】查看TensorFlow版本[通俗易懂]代码pythonimporttensorflowastftf.__version__ 

    2022年6月25日
    23
  • 视觉SLAM——特征点法与直接法对比以及主流开源方案对比 ORB LSD SVO DSO

    视觉SLAM——特征点法与直接法对比以及主流开源方案对比 ORB LSD SVO DSO单目视觉SLAM可以根据其前端视觉里程计或是后端优化的具体实现算法进行分类:前端可以分为特征点法与直接法,后端可以分为基于滤波器和基于非线性优化。其中在后端上目前已经公认基于非线性优化的方法在同等计算量的情况下,比滤波器能取得更好的结果。而前端的两种方法则各有优劣。本文将具体分析直接法相较于特征点法的优劣处,并具体介绍目前主流的开源方案,以供大家参考。

    2022年5月13日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号