五、样式控制

50 阅读1分钟

1. 直接使用setyles

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-app-styles',
  templateUrl: './app-styles.component.html',
  styles:[` p{
    color: red;
  } `,`*{
    font-size: 200px;
  } `
  ]
})
export class AppStylesComponent implements OnInit {

  constructor() { }

  ngOnInit(): void {
  }

}

2. 使用 styleUrls

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-app-styles',
  templateUrl: './app-styles.component.html',
  styleUrls:['./app-styles.component.less']

})
export class AppStylesComponent implements OnInit {

  constructor() { }

  ngOnInit(): void {
  }

}

3. 模板内联样式

<style>
    p{
        color: yellowgreen;
    }
</style>
<p>app-styles works!</p>

4. 使用link引入

<link rel="stylesheet" href="assets/global.component.css"></link>

5. 使用@import语法

@import url(./assets/global.component.css)

6 控制视图的模式

给了三种模式

  • Emulated 组件样式仅应用于组件自身的HTML元素 样式不会影响子组件或其他组件 子组件样式也不会泄漏到父 组件
  • None 完全不进行样式封装
  • ShadowDom 使用浏览器原生的Shadow DOM API 提供最严格的样式隔离 组件样式完全封闭在组件内部 外部样式无法影响组件内部 组件内部样式也无法影响外部
import { Component, OnInit, ViewEncapsulation } from '@angular/core';

@Component({
 selector: 'app-app-styles',
 templateUrl: './app-styles.component.html',
 styleUrls:['./app-styles.component.less'],
 encapsulation:ViewEncapsulation.ShadowDom

})