返回顶部
首页 > 资讯 > 前端开发 > node.js >如何实现vue、angular深度作用选择器
  • 562
分享到

如何实现vue、angular深度作用选择器

2024-04-02 19:04:59 562人浏览 泡泡鱼
摘要

小编给大家分享一下如何实现Vue、angular深度作用选择器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Vue适用的深度选择

小编给大家分享一下如何实现Vueangular深度作用选择器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Vue适用的深度选择器

在 Vue 的开发中,我们经常会用到外部组件库,例如 element,当使用 element 组件库中的某一个组件的时,我们可能会希望有一些定制的地方,通常的做法是 用CSS覆盖;有时层级不够就要另辟他径。

less使用/deep/
css使用>>>

Angular适用深度选择器

使用组件样式

对你编写的每个 Angular 组件来说,除了定义 html 模板之外,还要定义用于模板的 CSS 样式、 指定任意的选择器、规则和媒体查询。

实现方式之一,是在组件的元数据中设置 styles 属性。 styles 属性可以接受一个包含 CSS 代码的字符串数组。 通常你只给它一个字符串就行了,如同下例:

<!--src/app/hero-app.component.ts-->@Component({
 selector: 'app-root',
 template: ` <h2>Tour of Heroes</h2>
 <app-hero-main [hero]="hero"></app-hero-main>
 `,
 styles: ['h2 { font-weight: nORMal; }']
})
export class HeroAppComponent {

}

范围化的样式

在@Component的元数据中指定的样式只会对该组件的模板生效

它们既不会被模板中嵌入的组件继承,也不会被通过内容投影(如 ng-content)嵌进来的组件继承。

在这个例子中,h2 的样式只对 HeroAppComponent 生效,既不会作用于内嵌的 HeroMainComponent ,也不会作用于应用中其它任何地方的 h2 标签。

这种范围限制就是所谓的样式模块化特性

  1. 可以使用对每个组件最有意义的 CSS 类名和选择器。

  2. 类名和选择器是局限于该组件的,它不会和应用中其它地方的类名和选择器冲突。

  3. 组件的样式不会因为别的地方修改了样式而被意外改变。

  4. 你可以让每个组件的 CSS 代码和它的 typescript、HTML 代码放在一起,这将促成清爽整洁的项目结构。

  5. 将来你可以修改或移除组件的 CSS 代码,而不用遍历整个应用来看它有没有在别处用到。

特殊的选择器

组件样式中有一些从影子(Shadow) DOM 样式范围领域(记录在W3C的CSS Scoping Module Level 1中) 引入的特殊选择器:

:host

使用 :host 伪类选择器,用来选择组件宿主元素中的元素(相对于组件模板内部的元素)。

<!--src/app/hero-details.component.css-->:host {
 display: block;
 border: 1px solid black;
}

:host 选择是是把宿主元素作为目标的唯一方式。除此之外,你将没办法指定它, 因为宿主不是组件自身模板的一部分,而是父组件模板的一部分。

要把宿主样式作为条件,就要像函数一样把其它选择器放在 :host 后面的括号中。

下一个例子再次把宿主元素作为目标,但是只有当它同时带有 active CSS 类的时候才会生效。

<!--src/app/hero-details.component.css-->content_copy
:host(.active) {
 border-width: 3px;
}

:host-context

有时候,基于某些来自组件视图外部的条件应用样式是很有用的。 例如,在文档的 元素上可能有一个用于表示样式主题 (theme) 的 CSS 类,你应当基于它来决定组件的样式。

这时可以使用 :host-context() 伪类选择器。它也以类似 :host() 形式使用。它在当前组件宿主元素的祖先节点中查找 CSS 类, 直到文档的根节点为止。在与其它选择器组合使用时,它非常有用。

在下面的例子中,只有当某个祖先元素有 CSS 类 theme-light 时,才会把 background-color 样式应用到组件内部的所有 h3 元素中。

<!--src/app/hero-details.component.css-->content_copy
:host-context(.theme-light) h3 {
 background-color: #eef;

已废弃 /deep/、>>> 和 ::ng-deep

组件样式通常只会作用于组件自身的 HTML 上。

把伪类 ::ng-deep 应用到如何一条 CSS 规则上就会完全禁止对那条规则的视图包装。任何带有 ::ng-deep 的样式都会变成全局样式。为了把指定的样式限定在当前组件及其下级组件中,请确保在 ::ng-deep 之前带上 :host 选择器。如果 ::ng-deep 组合器在 :host 伪类之外使用,该样式就会污染其它组件。

这个例子以所有的 h4 元素为目标,从宿主元素到当前元素再到 DOM 中的所有子元素:

<!--src/app/hero-details.component.css-->content_copy
:host /deep/ h4 {
 font-style: italic;
}

/deep/ 组合器还有两个别名:>>> 和 ::ng-deep。

/deep/ 和 >>> 选择器只能被用在仿真 (emulated) 模式下。 这种方式是默认值,也是用得最多的方式。 更多信息,见控制视图封装模式一节。

CSS 标准中用于 "刺穿 Shadow DOM" 的组合器已经被废弃,并将这个特性从主流浏览器和工具中移除。 因此,我们也将在 Angular 中移除对它们的支持(包括 /deep/、>>> 和 ::ng-deep)。 目前,建议先统一使用 ::ng-deep,以便兼容将来的工具。

以上是“如何实现vue、angular深度作用选择器”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网node.js频道!

--结束END--

本文标题: 如何实现vue、angular深度作用选择器

本文链接: https://lsjlt.com/news/83876.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何实现vue、angular深度作用选择器
    小编给大家分享一下如何实现vue、angular深度作用选择器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Vue适用的深度选择...
    99+
    2024-04-02
  • vue scoped与深度选择器deep的原理分析
    目录scoped的作用deep作用总结JS引入模块化概念后,变得更易于开发维护,但是css样式由于其特殊性,一直没有实现模块化,scoped的出现就是为了实现样式模块化,其本质利用属...
    99+
    2022-11-13
    vue deep 原理 vue scoped的原理 深度选择器deep vue scoped
  • 深入了解Vue选择器: 学习使用常见的各种选择器操作
    Vue选择器大揭秘:学习使用各种常用选择器 引言: Vue作为一种流行的JavaScript框架,广泛应用于前端开发。在开发过程中,Vue选择器是一个重要的概念,它允许我们选择DOM元素并对其进行操作。本文将深入讨论Vue选择器...
    99+
    2024-01-15
    VUE 学习 选择器
  • vue如何用element实现区间选择组件
    这篇文章主要介绍“vue如何用element实现区间选择组件”,在日常操作中,相信很多人在vue如何用element实现区间选择组件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue如何用element实现...
    99+
    2023-07-04
  • angular如何实现一个列表的选择全选交互组件
    这篇文章给大家分享的是有关angular如何实现一个列表的选择全选交互组件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。需求分析实现单选;实现全选;可以设置允许多选还是单选。如果...
    99+
    2024-04-02
  • 深入探索Vue选择器:熟悉常用的选择器类型
    深入了解Vue选择器:了解常用的选择器有哪些 在使用Vue.js开发Web应用程序时,我们经常需要操作DOM元素,例如获取、修改和删除元素。为了便于操作DOM,Vue提供了一组选择器,可以帮助我们在DOM中查找和定位元素。本文将...
    99+
    2024-01-15
    深入了解 Vue选择器 常用选择器
  • jQuery如何实现选择器
    这篇文章主要为大家展示了“jQuery如何实现选择器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jQuery如何实现选择器”这篇文章吧。写自己的选择器$(do...
    99+
    2024-04-02
  • 深入研究Vue选择器:掌握Vue中各种选择器的使用方法
    深入解析Vue选择器:学习使用Vue中的各种选择器 Vue.js是一款流行的JavaScript框架,它被广泛应用于构建用户界面。在Vue中,选择器是我们常用的工具,它能够帮助我们找到特定的元素,并对其进行操作。本文将深入解析V...
    99+
    2024-01-15
    学习 使用 Vue选择器
  • 如何选择深圳服务器
    选择深圳服务器的方法:1、考虑深圳服务器的健康状况,从同服务器共IP网段的其他网站来考虑;2、考虑深圳服务器的稳定性,保证网站长期稳定运行;3、考虑深圳服务器的访问速度和功能支持,以保证网站的用户体验,提高网站的连通率。具体内容如下:需要考...
    99+
    2024-04-02
  • 在Vue中使用deep深度选择器修改elementUI组件的样式
            在项目当中我们常常会使用到 Element UI 组件库来进行快速开发,但是组件在引入...
    99+
    2022-12-08
    Vue修改element UI组件的样式 Vue修改element UI样式 deep 深度选择器
  • vue如何实现地区选择器v-distpicker的常用功能
    这篇文章将为大家详细讲解有关vue如何实现地区选择器v-distpicker的常用功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.引入插件(截图官网并解释)2.使用...
    99+
    2024-04-02
  • 如何深度解读Serverless架构及平台选择
    这篇文章将为大家详细讲解有关如何深度解读Serverless架构及平台选择,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在 Serverless 产品层面,从最早的 AWS Lambda,到...
    99+
    2023-06-04
  • 怎么实现vue图标选择器
    这篇文章主要讲解了“怎么实现vue图标选择器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么实现vue图标选择器”吧!import Vue from '...
    99+
    2023-06-25
  • vue怎么实现级联选择器
    本篇内容主要讲解“vue怎么实现级联选择器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue怎么实现级联选择器”吧!基于Vue的级联选择器,可以单项,二级, 三级级联,多级级联web开发中我...
    99+
    2023-07-04
  • angular框架如何实现全选与单选chekbox
    这篇文章将为大家详细讲解有关angular框架如何实现全选与单选chekbox,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1)页面内容(静态页)<ul ...
    99+
    2024-04-02
  • vue3使用深度选择器修改样式问题
    目录vue3使用深度选择器修改样式vue3已弃用以往的深度选择器vue如何使用深度选择器?父样式是否泄漏到作用域 css 中的子组件中?如何在 vuejs 中使用 CSS 模块?vu...
    99+
    2022-11-13
    vue3深度选择器 深度选择器修改样式 vue 深度选择器
  • Vue集成百度地图实现位置选择功能
    目录Vue集成百度地图实现位置选择百度地图选择地址效果集成百度地图的具体实现第一步:引入百度地图 JavaScript API v3.0 文件第二步:编写百度地图选择位置组件第三步:...
    99+
    2024-04-02
  • 如何使用vue2.0实现级联选择器
    小编给大家分享一下如何使用vue2.0实现级联选择器,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!基于Vue的级联选择器,可以单项,二级, 三级级联,多级级联web开发中我们经常会遇到级...
    99+
    2024-04-02
  • 使用vue深度选择器修改ElementUI组件内样式的示例代码
    例子:el-collapse标签修改子组件样式 在带有scoped属性的style中书写样式时,无法作用影响到子组件中的样式,此时我们会使用到deep深度选择器,来解决此问题,我们在...
    99+
    2022-12-08
    vue修改ElementUI组件内样式 vue深度选择器 修改ElementUI样式 vue使用element ui
  • 如何使用Angular+Angular-Ui实现分页
    这篇文章主要介绍如何使用Angular+Angular-Ui实现分页,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!先看效果:采用了Angular-UI中的分页组件,关于Angular...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作