scoped样式修饰符的使用

news/2024/7/24 12:55:57 标签: vue.js

在这里插入图片描述

在Vue.js中,scoped 是一个用于样式的修饰符,它用于限定样式的作用范围,使得样式只在当前组件的作用域内生效,而不会影响到父组件或子组件的样式。这个特性通常用于解决 CSS 样式污染的问题,确保样式只会影响到当前组件的 DOM 元素。

Scoped 样式的基本用法

在Vue组件的<style>标签中使用scoped属性,可以将样式限定在当前组件的作用域内。示例代码如下:

<template>
  <div class="app">
    <h1>Vue Scoped Styles</h1>
    <button @click="toggleColor">Toggle Color</button>
    <p class="global-style">大家好,我是IT小辉同学!!!</p>
    <p class="scoped-style">希望与大家一起学习,成长!!!</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isRed: false,
    };
  },
  methods: {
    toggleColor() {
      this.isRed = !this.isRed;
    },
  },
};
</script>

<style scoped>
/* Scoped styles */
p {
  color: blue;
}

/* Global styles */
.global-style {
  font-weight: bold;
}

/* Conditional styling */
.scoped-style {
  color: red;
}
</style>

在上面的示例中,<style scoped> 标签中的样式只会应用于当前组件的<p>元素,而不会影响到全局样式或其他组件中的元素。

示例1:条件样式绑定

<template>
  <div>
    <p :class="{ 'red-text': isRed }">热爱,就要坚持,勇往直前!!!</p>
    <button @click="toggleColor">相信梦想!!!</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isRed: false,
    };
  },
  methods: {
    toggleColor() {
      this.isRed = !this.isRed;
    },
  },
};
</script>

<style scoped>
.red-text {
  color: red;
}
</style>

上面的示例中,<p> 元素的样式会根据 isRed 变量的值而改变。这个样式只会影响到当前组件的<p>元素,不会影响到其他组件。

示例2:组件嵌套

<template>
  <div>
    <h2>把我的故事讲给你听。。。。。。</h2>
    <child-component></child-component>
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: {
    ChildComponent,
  },
};
</script>

<style scoped>
h2 {
  color: blue;
}
</style>

在这个示例中,父组件的样式只会影响到父组件内的元素,而不会影响到子组件 ChildComponent 内的元素。

示例3:深度选择器

在Vue中,你还可以使用 ::v-deep/deep/ 伪类来影响子组件中的样式。这是一个例子:

<template>
  <div>
    <h2>希望我们都能够勇敢一些。。。。。。</h2>
    <child-component></child-component>
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: {
    ChildComponent,
  },
};
</script>

<style scoped>
::v-deep h2 {
  color: blue;
}
</style>

这会影响到子组件 ChildComponent 中的 <h2> 元素的样式。

上面几个示例都非常详细的帮助大家了解了一下怎么使用scoped,以及其作用。scoped 样式是Vue.js中用于隔离组件样式的一种非常有用的特性,可以确保组件样式不会影响全局样式或其他组件,从而提高了代码的可维护性和可重用性。希望大家可以经常使用,同时,深入了解!!!


http://www.niftyadmin.cn/n/5000247.html

相关文章

垃圾回收 - 复制算法

GC复制算法是Marvin L.Minsky在1963年研究出来的算法。说简单点&#xff0c;就是只把某个空间的活动对象复制到其它空间&#xff0c;把原空间里的所有对象都回收掉。这是一个大胆的想法。在此&#xff0c;我们将复制活动对象的原空间称为From空间&#xff0c;将粘贴活动对象的新…

C# 采用3DES-MAC进行签名 base64解码与编码

** 3DES-MAC ** 3DES-MAC&#xff08;Triple Data Encryption Standard Message Authentication Code&#xff09;是一种消息认证码&#xff08;MAC&#xff09;算法&#xff0c;用于验证消息的完整性和真实性。3DES-MAC使用了3DES&#xff08;Triple Data Encryption Standa…

手写Mybatis:第15章-返回Insert操作自增索引值

文章目录 一、目标&#xff1a;Insert自增索引值二、设计&#xff1a;Insert自增索引值三、实现&#xff1a;Insert自增索引值3.1 工程结构3.2 Insert自增索引值类图3.3 修改执行器3.3.1 修改执行器接口3.3.2 抽象执行器基类 3.4 键值生成器3.4.1 键值生成器接口3.4.2 不用键值…

Android Canvas的使用

android.graphics.Canvas 一般在自定义View中&#xff0c;重写 onDraw(Canvas canvas) 方法时用到。 /*** Implement this to do your drawing.** param canvas the canvas on which the background will be drawn*/Overrideprotected void onDraw(Canvas canvas) {super.onDra…

时序预测 | MATLAB实现PSO-LSSVM粒子群算法优化最小二乘支持向量机时间序列预测未来

时序预测 | MATLAB实现PSO-LSSVM粒子群算法优化最小二乘支持向量机时间序列预测未来 目录 时序预测 | MATLAB实现PSO-LSSVM粒子群算法优化最小二乘支持向量机时间序列预测未来预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.Matlab实现PSO-LSSVM时间序列预测未…

31 WEB漏洞-文件操作之文件包含漏洞全解

目录 文件包含漏洞原理检测类型利用修复 本地包含-无限制&#xff0c;有限制远程包含-无限制&#xff0c;有限制各种协议流玩法文章介绍读取文件源码用法执行php代码用法写入一句话木马用法每个脚本支持的协议玩法 演示案例某CMS程序文件包含利用-黑盒CTF-南邮大&#xff0c;i春…

python安装wind10

一、下载&#xff1a; 官网:Python Releases for Windows | Python.org 二、安装 双击下载的安装程序文件。这将打开安装向导。安装界面图下方两个框的" Use admin privileges wheninstalling py. exe和” Add python. exe to PATH"都要勾选,一定要勾选!一定要勾选…

【车载以太网测试从入门到精通】——DoIP BootLoader刷写测试(含CAPL源码)

系列文章目录 文章目录 系列文章目录前言一、DoIP刷写环境搭建二、DoIP刷写工程使用方法三、DoIP刷写CAPL源码四、刷写工程下载链接前言 DoIP概述: DoIP(Diagnostic communication over InternetProtocol),基于IP网络的汽车诊断协议。DoIP技术可实现本地诊断、远程诊断、空…