美文网首页angular 2+ 点点滴滴angular2让前端飞
Angular 4 设置组件样式的几种方式

Angular 4 设置组件样式的几种方式

作者: Abore简 | 来源:发表于2017-07-20 13:37 被阅读340次
  你用Angular吗?

一.介绍

  如何只改动最简单的css代码,呈现完全不一样的视图效果。

第一种:最基本的设置:

  图1 代码
图2 界面运行效果图

平常,想给一个label或者p等标签添加样式,我们就是这样操作,在Angular中也是一样的。

现在,如果我想要将字体换成红色呢,首先想到的就是去修改.label里的color属性值,可如果样式表是封装的或者外部引用的,不方便修改呢?

这时候就要用到ElementRef 和Renderer2了。可以去Angular 官网里搜索哟。

  renderer.class 图

我们可以这样用:

  

  label.html
  label.ts

当然ElementRef和renderer2都引用自@angular/core库里面的。 至于ViewChild 和ngAfterViewInit()可以自行去了解。

    修改效果图

   当然,你说这样修改的弊端有没有呢?肯定是有的,因为,this.el.nativeElement获取的是当前元素,如果用*ngFor生成了一系列的label的话,它只会给你修改第一个label的。那有没有其他的办法可以修改呢。当然也是有的!

我们可以获取到元素的节点进行操作?

  label.ts

获取元素节点,还是用上面的elementref。 如果要改变所有的,For循环皆可以啦。

可是,这样做又有问题了?如果想不同的label不同字体颜色怎么办呢?

当然Angular也提供了方法呀? ngStyle和ngClass可以用呀!

 ngStyle

[ngStyle]="{color:'  '}"  和[style.color]是一样的意思。

你的label想变成什么颜色,你就给我传那个值进来,0就是green......

这种适用于只需要修改少量属性的标签。

如果你需要修改颜色,字体大小,间距....这种方式显然太繁琐,这时候ngclass就来了。

 ngclass

注意ngClass后面的字样。label为什么没有用单引号呢,而后面的text-primary却有呢?

1.label是一个变量,我们的样式是可以传参的。

也就是你的html标签不需要改动,需要什么样式就在ts离传入即可。ngClass也可以利用这个特性去修改。

其实这几种用的地方也挺多的,不过得根据实际需求去采用不同形式。

欢迎来找我交流Angular 或前端技术哟。

相关文章

  • Angular 4 设置组件样式的几种方式

    一.介绍 如何只改动最简单的css代码,呈现完全不一样的视图效果。 第一种:最基本的设置: 平常,想给一个lab...

  • Angular2 给宿主元素设置样式的2种方式

    Angular2中给宿主元素设置样式的2种方式 primeng开源组件的 host element 基本不会有样式...

  • 样式封装&组件间通信

    关于样式 angular 可以将样式封装在组件本身中,不会影响其他组件的样式(默认)Angular 会修改组件的 ...

  • 使用 js 改变 css(style) 样式

    要改变的是样式表, 如: 参考cnblog: JS设置CSS样式的几种方式[https://www.cnblogs...

  • Angular 组件样式

    Angular 2+ (Now 5.0) 应用程序使用的是常规CSS样式,意思就是说CSS标准中的所有东西都可以直...

  • Angular组件样式

    Angular 应用使用标准的 CSS 来设置样式。这意味着你可以把关于 CSS 的那些知识和技能直接用于 Ang...

  • 命名规范

    A我今天学到了什么 1 命名规范 2 几种常用的命名方式 3 伪元素设置边框 4 建立自己的公共样式 4.1 ba...

  • 任务五——HTML基础

    问答: 1.样式有几种引入方式? 有5种引入方式: 浏览器缺省设置 外部样式表(有两种形式) 或者 内部样式表 内...

  • 组件样式

    angular使用标准的css来设置样式,所以可以把关于css的知识和技能直接用于angular程序中,例如样式表...

  • flutter text(),Container(),listV

    text组件设置文本样式 Container组件 Container组件decoration修饰器,设置容器的边框...

网友评论

    本文标题:Angular 4 设置组件样式的几种方式

    本文链接:https://www.haomeiwen.com/subject/lbudkxtx.html