vue3如何阻止所有css的子组件继承
在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样式仅应用于当前组件,而不会被子组件继承
原文地址: https://www.cveoy.top/t/topic/ie1j 著作权归作者所有。请勿转载和采集!