我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Vue3 style中新增的特性如何使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Vue3 style中新增的特性如何使用

本文小编为大家详细介绍“Vue3 style中新增的特性如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue3 style中新增的特性如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

style新特性

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

一、局部样式

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

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

二、深度选择器

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

<style scoped>.a :deep(.b) {  }</style>

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

三、插槽选择器

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

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

四、全局选择器

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

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

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

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

<style></style> <style scoped></style>

六、支持CSS Modules

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

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

<template>  <p :class="$style.red">    This should be red  </p></template> <style module>.red {  color: red;}</style>

可以自定义注入module名称

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

七、与setup一同使用

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

<script setup>import { useCssModule } from 'vue' // 默认, 返回 <style module> 中的类const defaultStyle = useCssModule() // 命名, 返回 <style module="classes"> 中的类const classesStyle = useCssModule('classes')</script>

八、动态 CSS

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

<script setup>const theme = {  color: 'red'}</script> <template>  <p>hello</p></template> <style scoped>p {  color: v-bind('theme.color');}</style>

读到这里,这篇“Vue3 style中新增的特性如何使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Vue3 style中新增的特性如何使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Vue3 style中新增的特性如何使用

本文小编为大家详细介绍“Vue3 style中新增的特性如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue3 style中新增的特性如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。style新特
2023-07-06

Vue3 style中新增的特性有哪些及怎么用

style新特性Vue3.2版本对单文件组件的style样式进行了很多升级,如局部样式、css变量以及样式暴露给模板使用等。(学习视频分享:vue视频教程)一、局部样式当标签带有scopedattribute的时候,它的CSS只会应用到当前组件的元素上:hi.example{color:red;}二、深度选择器处于scoped样式中的选择器如果想要做更“深度”的选择,也即:影响到子组件,可以使用:deep()这个伪类:.a:deep(.b){}通过v-html创建的DOM内容不会被
2023-05-14

如何在html5中使用新特性

今天就跟大家聊聊有关如何在html5中使用新特性,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1)新的语义标签 footer header 等等 2)增强型表单 表单2.0 3)音频
2023-06-09

如何使用Go1.16的新特性

本篇内容介绍了“如何使用Go1.16的新特性”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!无法将静态资源编译打包进二进制文件的话,通常会有两
2023-06-15

C++11中新特性“=default”,“=delete”如何使用

小编给大家分享一下C++11中新特性“=default”,“=delete”如何使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、 =default 和=de
2023-06-15

CSS媒体查询新增的特性怎么使用

这篇文章主要介绍了CSS媒体查询新增的特性怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CSS媒体查询新增的特性怎么使用文章都会有所收获,下面我们一起来看看吧。CSS @media 规范prefers-
2023-07-04

PHP7中的特性如何使用

这篇“PHP7中的特性如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“PHP7中的特性如何使用”文章吧。PHP7的一些
2023-06-26

Vue3 中的 readonly 特性及函数使用详解

readonly是Vue3中提供的一个新特性,用于将一个响应式对象变成只读对象,这篇文章主要介绍了Vue3 中的 readonly 特性详解,需要的朋友可以参考下
2023-05-18

Vue中ref特性如何使用

这篇文章主要介绍“Vue中ref特性如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue中ref特性如何使用”文章能帮助大家解决问题。一、ref的基本使用ref的使用