聊聊Vue3 style中新增了哪些特性(汇总)

Vue3对style样式进行了升级,下面本篇文章给大家汇总分享一下Vue3style的新特性,希望对大家有所帮助! Vue3.0后推出的setup函数,像写JS一样开发Vue组件,…

Vue3对style样式进行了升级,下面本篇文章给大家汇总分享一下Vue3style的新特性,希望对大家有所帮助!

聊聊Vue3 style中新增了哪些特性(汇总)

Vue3.0后推出的setup函数,像写JS一样开发Vue组件,此外style也加入了很多新特性,如引入了变量和函数,使css复用性更强…

style新特性

Vue3.2版本对单文件组件的style样式进行了很多升级,如局部样式、css变量以及样式暴露给模板使用等。

一、局部样式

当<style>标签带有scopedattribute 的时候,它的 CSS 只会应用到当前组件的元素上:

<template><divclass="example">hi</div></template><stylescoped>.example{color:red;}</style>

二、深度选择器

处于scoped样式中的选择器如果想要做更“深度”的选择,也即:影响到子组件,可以使用:deep()这个伪类:

<stylescoped>.a:deep(.b){/*…*/}</style>

通过v-html创建的 DOM 内容不会被作用域样式影响,但你仍然可以使用深度选择器来设置其样式。

三、插槽选择器

默认情况下,作用域样式不会影响到<slot/>渲染出来的内容,因为它们被认为是父组件所持有并传递进来的。使用:slotted伪类以确切地将插槽内容作为选择器的目标:

<stylescoped>:slotted(div){color:red;}</style>

四、全局选择器

如果想让其中一个样式规则应用到全局,比起另外创建一个<style>,可以使用:global伪类来实现:

<stylescoped>:global(.red){color:red;}</style>

五、混合使用局部与全局样式

你也可以在同一个组件中同时包含作用域样式和非作用域样式:

<style>/*globalstyles*/</style><stylescoped>/*localstyles*/</style>

六、支持CSS Modules

<style module>标签会被编译为CSS Modules并且将生成的 CSS 类键暴露给组件:

1、 默认以$style对象暴露给组件;

<template><p:class="$style.red">Thisshouldbered</p></template><stylemodule>.red{color:red;}</style>

2、可以自定义注入module名称

<template><p:class="classes.red">red</p></template><stylemodule="classes">.red{color:red;}</style>

七、与setup一同使用

注入的类可以通过useCssModuleAPI 在setup()和<script setup>中使用:

<scriptsetup>import{useCssModule}from'vue'//默认,返回<stylemodule>中的类constdefaultStyle=useCssModule()//命名,返回<stylemodule="classes">中的类constclassesStyle=useCssModule('classes')</script>

八、动态 CSS

单文件组件的<style>标签可以通过v-bind这一 CSS 函数将 CSS 的值关联到动态的组件状态上:

<scriptsetup>consttheme={color:'red'}</script><template><p>hello</p></template><stylescoped>p{color:v-bind('theme.color');}</style>

产品猿社区致力收录更多优质的商业产品,给服务商以及软件采购客户提供更多优质的软件产品,帮助开发者变现来实现多方共赢;

日常运营的过程中我们难免会遇到各种版权纠纷等问题,如果您在社区内发现有您的产品未经您授权而被用户提供下载或使用,您可按照我们投诉流程处理,点我投诉

本文来自用户发布投稿,不代表产品猿立场 ;若对此文有疑问或内容有严重错误,可联系平台客服反馈;

部分产品是用户投稿,可能本文没有提供官方下下载地址或教程,若您看到的内容没有下载入口,您可以在我们产品园商城搜索看开发者是否有发布商品;若您是开发者,也诚邀您入驻商城平台发布的产品,地址:点我进入

如若转载,请注明出处:https://www.chanpinyuan.cn/28796.html;
(0)
上一篇 2022年12月5日 下午4:17
下一篇 2022年12月5日 下午4:17

相关推荐

发表回复

登录后才能评论
分享本页
返回顶部