vue 3 第二十七章:样式(动态class、动态style)

这篇具有很好参考价值的文章主要介绍了vue 3 第二十七章:样式(动态class、动态style)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


在 Vue 中,我们可以使用动态绑定语法来动态地添加类名或样式。本章将介绍 Vue 3 中如何使用动态绑定语法来动态地添加类名或样式。

动态 class

在 Vue 中,我们可以使用 :classv-bind:class 指令来动态地添加类名。例如,下面的例子中,我们可以根据 isActive 的值动态地为元素添加 active 类:

<template>
  <div>
    <h1 :class="{ active: isActive }">Dynamic Class</h1>
    <button @click="isActive = !isActive">切换</button>
  </div>
</template>

<script setup lang="ts">
import { ref } from "vue";
const isActive = ref(false);
</script>

<style lang="scss" scoped>
.active {
  color: red;
}
</style>

在上面的例子中,:class="{ active: isActive }" 的意思是,当 isActive 的值为 true 时,为元素添加 active 类。

除了使用对象语法以外,我们还可以使用数组语法来动态地添加类名。例如,下面的例子中,我们可以根据 isActiveisHighlighted 的值动态地为元素添加类:

<template>
  <div :class="[isActive && 'active', isHighlighted && 'highlighted']">
    <h1>Dynamic Class</h1>
  </div>
</template>

<script setup lang="ts">
import { ref } from "vue";
const isActive = ref(true);
const isHighlighted = ref(false);
</script>

在上面的例子中,:class="[isActive && 'active', isHighlighted && 'highlighted']" 的意思是,当 isActive 的值为 true 时,为元素添加 active 类;当 isHighlighted 的值为 true 时,为元素添加 highlighted 类。

动态 style

在 Vue 中,我们可以使用 :stylev-bind:style 指令来动态地添加样式。例如,下面的例子中,我们可以根据 color 的值动态地为元素设置颜色:

<template>
  <div :style="{ color }">
    <h1>Dynamic Style</h1>
  </div>
</template>

<script setup lang="ts">
import { ref } from "vue";
const color = ref("red");
</script>

在上面的例子中,:style="{ color }" 的意思是,为元素设置颜色,颜色的值为 color 变量的值。

除了使用对象语法以外,我们还可以使用数组语法来动态地添加样式。例如,下面的例子中,我们可以根据 fontSizelineHeight 的值动态地为元素设置样式:文章来源地址https://www.toymoban.com/news/detail-466226.html

<template>
  <div
    :style="[
      fontSize && { 'font-size': fontSize },
      lineHeight && { 'line-height': lineHeight },
    ]"
  >
    <h1>Dynamic Style</h1>
  </div>
</template>

<script setup lang="ts">
import { ref } from "vue";
const fontSize = ref("18px");
const lineHeight = ref("1.5");
</script>

到了这里,关于vue 3 第二十七章:样式(动态class、动态style)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Vue教程(五):样式绑定——class和style

    Vue教程(五):样式绑定——class和style

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

    2024年02月12日
    浏览(6)
  • 【正点原子STM32连载】 第二十七章 RTC实验摘自【正点原子】APM32E103最小系统板使用指南

    1)实验平台:正点原子APM32E103最小系统板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609294757420 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/docs/boards/xiaoxitongban 本章介绍APM32E103实时时钟(RTC)的使用,实时时钟能为系统提供一个准确的时间,即时系统复位或主

    2024年01月19日
    浏览(12)
  • 视频讲解vue2基础之style样式class类名绑定

    视频讲解vue2基础之style样式class类名绑定

    目录  style样式的动态绑定 class类名动态绑定 一:官方给出的写法 二:自创三元表达式写法  详细的视频讲解:002vue_样式的动态绑定_哔哩哔哩_bilibili 003vue_样式动态绑定(小案例)_哔哩哔哩_bilibili 详细的视频讲解:002vue_样式的动态绑定_哔哩哔哩_bilibili 003vue_样式动态绑定

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

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

    2024年04月17日
    浏览(8)
  • uniapp、vue中动态添加绑定style、class

    1.普通对象动态添加(比较常见) 2. 数组 对象动态添加 3.三目运算动态添加

    2024年02月16日
    浏览(10)
  • 【vue3】数据绑定,动态渲染class与style

    数据绑定的一个常见需求场景是操纵元素的 CSS class 列表和内联样式(style)。因为 class 和 style 都是 attribute,我们可以和其他 attribute 一样使用 v-bind 将它们和动态的字符串绑定。但是,在处理比较 复杂的绑定 时,通过拼接生成字符串是麻烦且易出错的。因此,Vue 专门为

    2024年02月13日
    浏览(9)
  • 【正点原子FPGA连载】第二十七章 MDIO接口读写测试实验 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

    【正点原子FPGA连载】第二十七章 MDIO接口读写测试实验 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html 在以太网通信中,设备之间的物理层链路均由PHY芯片(物理层芯片,本文指YT8521)建立。PHY芯片有一个配置接

    2024年02月09日
    浏览(6)
  • vue、uniapp中动态添加绑定style、class 9种方法实现

    直接使用静态class和style属性: 使用场景:当class和style属性是固定不变的时候,可以直接在模板中写死。 优点:简单直接,没有额外的计算和逻辑。 缺点:无法根据条件动态修改class和style。 使用v-bind动态绑定class和style属性: 使用场景:当class和style属性需要根据组件的da

    2024年02月10日
    浏览(11)
  • vue 3 第二十六章:样式(scoped及样式穿透)

    vue 3 第二十六章:样式(scoped及样式穿透)

    在 Vue 中,我们可以使用 scoped 特性来给组件的样式添加作用域。通过为组件的 style 标签添加 scoped 特性,我们可以确保组件的样式仅应用于该组件的模板中,而不会影响其他组件或全局样式。 在上面的例子中, .example 类的样式只会应用于该组件的模板中,而不会影响其他组

    2024年02月06日
    浏览(15)
  • 【正点原子FPGA连载】 第二十七章OV5640摄像头LCD显示 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

    【正点原子FPGA连载】 第二十七章OV5640摄像头LCD显示 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html OV5640是OmniVision(豪威科技)公司生产的一颗CMOS图像传感器,该传感器功耗低、分辨率高以及采集速率快,主

    2024年02月16日
    浏览(9)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包