SFC CSS 功能:深层选择/插槽选择器/动态绑定

深层选择器

如果您希望样式中的选择器scoped"深入",即影响子组件,则可以使用:deep()伪类:

github-dark 复制代码
<style scoped>
.a :deep(.b) {
  /* ... */
}
</style>

以上内容将被编译为:

github-dark 复制代码
.a[data-v-f3f3eg9] .b {
  /* ... */
}

提示

创建的 DOM 内容v-html不受范围样式的影响,但您仍然可以使用深度选择器来设置它们的样式。

插槽选择器

默认情况下,范围样式不会影响 渲染的内容<slot/>,因为它们被视为传入它们的父组件所拥有。要明确定位插槽内容,请使用:slotted伪类:

css 复制代码
<style scoped>
:slotted(div) {
  color: red;
}
</style>

v-bind()在 CSS 中

SFC<style>标签支持使用 CSS 函数将 CSS 值链接到动态组件状态v-bind

css 复制代码
<template>
  <div class="text">hello</div>
</template>

<script>
export default {
  data() {
    return {
      color: 'red'
    }
  }
}
</script>

<style>
.text {
  color: v-bind(color);
}
</style>

该语法适用于<script setup>,并支持 JavaScript 表达式(必须用引号引起来):

css 复制代码
<script setup>
import { ref } from 'vue'
const theme = ref({
    color: 'red',
})
</script>

<template>
  <p>hello</p>
</template>

<style scoped>
p {
  color: v-bind('theme.color');
}
</style>

实际值将被编译为散列 CSS 自定义属性,因此 CSS 仍然是静态的。自定义属性将通过内联样式应用于组件的根元素,并在源值发生变化时进行响应式更新。

相关推荐
veneno1 小时前
大量异步并发请求控制并发解决方案
前端
i***t9191 小时前
Spring Boot项目接收前端参数的11种方式
前端·spring boot·后端
oden1 小时前
2025博客框架选择指南:Hugo、Astro、Hexo该选哪个?
前端·html
小光学长2 小时前
基于ssm的宠物交易系统的设计与实现850mb48h(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·前端·数据库
小小前端要继续努力2 小时前
渐进增强、优雅降级及现代Web开发技术详解
前端
老前端的功夫3 小时前
前端技术选型的理性之道:构建可量化的ROI评估模型
前端·javascript·人工智能·ubuntu·前端框架
狮子座的男孩3 小时前
js函数高级:04、详解执行上下文与执行上下文栈(变量提升与函数提升、执行上下文、执行上下文栈)及相关面试题
前端·javascript·经验分享·变量提升与函数提升·执行上下文·执行上下文栈·相关面试题
爱学习的程序媛3 小时前
《JavaScript权威指南》核心知识点梳理
开发语言·前端·javascript·ecmascript
乐观主义现代人4 小时前
go 面试
java·前端·javascript
1***Q7844 小时前
前端在移动端中的离线功能
前端