架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 7625|回复: 1

[Angular] Angular 9 系列(七)css样式作用域

[复制链接]
发表于 2020-6-17 16:46:59 | 显示全部楼层 |阅读模式
Angular 9 系列(一)动态加载组件
https://www.itsvse.com/thread-9238-1-1.html

Angular 9 系列(二)动态组件传参
https://www.itsvse.com/thread-9245-1-1.html

Angular 9 系列(三)订阅动态组件事件
https://www.itsvse.com/thread-9246-1-1.html

Angular 9 系列(四)自定义 Pipe 管道
https://www.itsvse.com/thread-9248-1-1.html

Angular 9 系列(五)格式化金额货币格式
https://www.itsvse.com/thread-9249-1-1.html

Angular 9 系列(六)调用原生JS变量和方法
https://www.itsvse.com/thread-9254-1-1.html
回顾,我们以前想修改引入的第三方组件的样式,怎么都修改不成功。

angular 设置组件 css 样式不生效解决方案
https://www.itsvse.com/thread-9184-1-1.html
:host 表示选择器,选择当前的组件。
::ng-deep 可以忽略中间className的嵌套层级关系。直接找到你要修改的className。
不过官方文档上说,ng-deep 在未来的版本中将被放弃,不知道未来会变成什么样的语法。

在组件上面的特性可以设置 styleUrls 来设置当前组件的 css 样式表。

引入的该样式表表,只会影响到当前的标签元素,并不会影响到其他的组件,这是angular框架一个重要的特点。


css代码:

我们通过浏览器查看最终生成的css样式,如下图:

css.png

.itsvse1[_ngcontent-serverApp-c228] {
    background-color:azure;
}

[_nghost-serverApp-c228]     .itsvse2 {
    background-color: green;
}

[_nghost-serverApp-c228]     .itsvse3 {
    background-color: red;
}

  .itsvse4 {
    background-color: aqua;
}
.itsvse1 只会设置当前组件的样式,.itsvse2 和 .itsvse3 可以影响到引入的子组件的样式,.itsvse3 则可以影响到全局的样式。

itsvse1 css 只能影响到当前组件,是因为当前所有的节点元素都会添加“_ngcontent-serverapp-c228”属性,如下图:

component css.png

(完)




上一篇:求马哥Linux高端云计算运维面授班第十七期视频链接
下一篇:sql语句中“!=”与“<>”的区别
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2021-11-26 17:07:00 | 显示全部楼层
angular encapsulation 的三种使用方式
https://www.itsvse.com/thread-9200-1-1.html

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2025-6-16 07:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表