Vue3新增加的css语法糖

一、deep
复制代码
<template>
    <div class="">
        <el-input /> 
    </div>
</template>
<style scoped>
/* 样式穿透 */
:deep input {
    background: red;
}
</style>
二、slotted

子组件修改插槽里面的样式

复制代码
<template>
    <div class="">
        <child>
            <div></div>
        </child>
    </div>
</template>

<style scoped>
/* 修改插槽样式 */
:slotted(div) {
    background: red;
}
</style>
三、global

scoped里面依然可以写全局样式

复制代码
<template>
    <div class="">

    </div>
</template>
<style scoped>
/* 全局样式 */
:global(div) {
    background: red;
}
</style>
四、v-bind
复制代码
<template>
    <div class="">

    </div>
</template>
<script setup lang="ts">
import { ref } from "vue"
const bag = ref<string>('red')
</script>
<style scoped>
/* 动态样式*/
div {
    background: v-bind(bag)
}
</style>
五、module
复制代码
<!-- 将生成的 CSS 类作为 $style 对象的键暴露给组件 -->
<template>
    <div :class="$style.title"></div> 
</template>

<style module>
.title {
    color: red;
}
</style>

<!-- 将生成的 CSS 类作为 jx 对象的键暴露给组件-->
<template>
   <div :class="jx.title"></div> 
</template>
<style module="jx">
.title {
    color: red;
}
</style>

可以通过获取

复制代码
<script setup lang="ts">
import { useCssModule } from "vue"
const jx = useCssModule('jx')
console.log(jx.title);
const user = `<div class="${jx.title}">12313</div>`
</script>
<style module="jx">
.title {
    color: red;
}
</style>
相关推荐
OpenTiny社区43 分钟前
从流式消息到多会话:TinyRobot Kit 如何组织 AI 对话数据层
vue.js
喵本喵叁肆2 小时前
06-M6-部门过滤与综合研判-从问答机到研判助手
前端·javascript·jquery
卤蛋fg63 小时前
vue表格组件 vxe-table 鼠标滑动表头选择整列与选择整行的配置详解
vue.js
এ慕ོ冬℘゜3 小时前
JavaScript学习心得:从只会语法,到真正会写业务逻辑
开发语言·javascript·ecmascript
এ慕ོ冬℘゜3 小时前
jQuery 核心方法
前端·javascript·jquery
阳火锅4 小时前
老板要周报?我说不用,代码提交就是进度
前端·javascript·vue.js
chjif4 小时前
一张照片和一段声音如何生成口播视频:MiniMax H3 音画同步实测
java·前端·javascript
FungLeo4 小时前
成为全栈·Node 后端篇·后端工程从零搭建:TypeScript、目录与热更新
javascript·typescript·node 后端
CarIise4 小时前
事件传播、CSS动画、服务器字体与jQuery
服务器·css·jquery