在Vue 3中,可以使用<style>标签的scoped属性来阻止组件的子组件继承CSS样式。

例如,以下是一个Vue 3组件的示例:

<template>
  <div class="parent">
    <child-component></child-component>
  </div>
</template>

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

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

<style scoped>
.parent {
  background-color: red;
}

/* 子组件继承了父组件的背景颜色 */
.child {
  color: white;
}
</style>

在上面的示例中,父组件的样式.parent被限制在父组件的范围内。但是,子组件ChildComponent仍然会继承父组件的样式。为了阻止子组件继承父组件的样式,可以使用/deep/选择器或::v-deep伪类选择器。

<template>
  <div class="parent">
    <child-component></child-component>
  </div>
</template>

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

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

<style scoped>
.parent {
  background-color: red;
}

/* 使用/deep/选择器或::v-deep伪类选择器阻止子组件继承样式 */
/deep/ .child {
  color: white;
}
</style>

使用/deep/选择器或::v-deep伪类选择器可以确保.child样式仅应用于当前组件,而不会被子组件继承

vue3如何阻止所有css的子组件继承

原文地址: https://www.cveoy.top/t/topic/ie1j 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录