亲宝软件园·资讯

展开

vue3单文件组件style特性 vue3单文件组件中style特性的深入讲解

_六耳_ 人气:3
想了解vue3单文件组件中style特性的深入讲解的相关内容吗,_六耳_在本文为您仔细讲解vue3单文件组件style特性的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:vue3单文件组件,vue绑定style,vue组件使用,下面大家一起来学习吧。

style scoped

需要注意的有:

1. 深度选择器:可以影响到子组件. 使用伪类 => :deep(cls: 影响的选择器)

    .a :deep(.b) {
        ...
    }

2. 插槽选择器: 可以影响到插槽内容的样式。使用伪类 => :slotted(选择器)

    :slloted(.a) {
        ...
    }

3. 全局选择器: 是样式影响到全局。 使用伪类 => :global(选择器)

    :slloted(.a) {
        ...
    }

scoped style 可以和 style同时存在

style module

style 标签中带有 module。其样式和 style scoped一样只能作用域于当前组件。

此方式会将css 编译为 css modules.且暴露给组件$styles对象来使用css样式

<template>
  <p :class="$style.red">
    This should be red
  </p>
</template>

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

可以给module赋值来自定义暴露的对象名称

<template>
  <p :class="style.red">
    This should be red
  </p>
</template>

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

在组合式api中可以使用 useCssModule() api来使用cssModule.

// 默认, 返回 <style module> 中的类
useCssModule()

// 命名, 返回 <style module="classes"> 中的类
useCssModule('classes')

状态驱动的动态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>

总结

加载全部内容

相关教程
猜你喜欢
用户评论