在 Angular 中使用 Styles 和 StyleUrls 组件属性

发布日期:2026-07-08 08:10:03   来源 : 杭州电子商务研究院    浏览量 :3
杭州电子商务研究院 发布日期:2026-07-08 08:10:03  
3

介绍

每个应用框架都提供不同的 HTML 组件样式设置方法。在 Angular 中,有两种方法可以保留 CSS 代码来设置组件的 HTML 模板样式。

  • 保持 CSS 内联
  • 将 CSS 单独保存在自己的文件中

对于每个方法,都必须使用组件元数据中的不同属性。当样式属性的数量少于 10 个左右时,应使用styles属性。如果您必须定义大量 CSS 样式,那么最好将它们放在单独的文件中,并使用styleUrls属性指向它们。

在本指南中,您将学习如何使用这两个属性来设置组件 HTML 模板的样式。您将尝试为技术事件渲染一些属性并设置 HTML 元素的样式。

先决条件

要完成本指南,您应该具有:

  1. 节点-12.17.0
  2. Angular CLI——9.0.2
  3. Visual Studio Code - 1.45.1

入门

创建一个 Angular 项目

  1. 执行以下命令创建一个 Angular 项目。

ng 新样式-演示

  1. 当提示向应用程序添加路由时,按N
  2. 当提示选择样式表格式时,按ENTER

在 Visual Studio Code 中打开生成的应用程序

  1. 单击顶部菜单栏中的文件菜单,然后选择菜单选项打开文件夹
  2. 在文件对话框中,导航到生成应用程序的文件夹。
  3. 在此文件夹中,您应该看到一个名为styles-demo的文件夹。选择此文件夹并在文件对话框中单击“打开” 。

设置项目

安装 Twitter Bootstrap 和 jQuery 并在您的项目中引用它们,以便您可以使用一些表单样式来使表单看起来不错。

  1. 转到命令提示符并运行以下命令:

cd 样式-演示

  1. 运行以下命令安装jquery:

npm 我 jquery

  1. 运行以下命令安装 Bootstrap:

npm 我 bootstrap

  1. 在 Visual Studio Code 中,打开文件angular.json
  2. 在src/style.css之前的样式数组中添加以下行

“node_modules/bootstrap/dist/css/bootstrap.min.css”,

  1. 在脚本数组中添加以下几行

“node_modules/jquery/dist/jquery.min.js”,“node_modules/bootstrap/dist/js/bootstrap.min.js”

  1. 在 Visual Studio Code 中,打开文件src > index.html
  2. 在第 10 行的 body 元素中,添加以下类:

类=“容器”

最终的代码看起来应该是这样的:

      <body class="container">
  <app-root></app-root>
</body>
    

现在项目已全部准备好,可以开发事件页面了。

开发事件页面

  1. 在命令提示符中运行以下命令:

ng 生成组件事件缩略图

  1. 在 Visual Studio Code 中,打开文件src > app > event-thumbnail > event-thumbnail.component.ts,删除文件内容,并添加以下代码。请注意,styles 元数据属性已用于指定 CSS 样式。
      import { Component, Input, Output, EventEmitter } from '@angular/core';

@Component({
    selector:'app-event-thumbnail',
    templateUrl:'./event-thumbnail.component.html',
    styles:[`
        .green { color:#003300 !important; }
        .bold { font-weight:bold; }
        .thumbnail { min-height: 210px; padding-left: 10px; background-color:#343a40; margin-bottom:10px; }
        .pad-left { margin-left: 10px; }
        .well div { color: #bbb; }
        `]
})
export class EventThumbnailComponent
{
    event:any = {
            name:'Ng-Europe',
            date:'09/10/2020',
            time:'8:00 am',
            price:'200',
            onlineUrl:'https://www.pluralsight.com/angular/ng-europe'
        };
}
    
  1. 在 Visual Studio Code 中,打开文件src > app > event-thumbnail > event-thumbnail.component.html,删除文件内容,并添加以下代码:
      <div class="well hoverwell thumbnail">
    <h2>{{event.name | uppercase}}</h2>
    <div>Date: {{event.date | date}}</div>
    <div>Time: {{event.time}}</div>
    <div [ngSwitch]="event.time">
        <span *ngSwitchCase="'8:00 am'">Early Start</span>
        <span *ngSwitchCase="'10:00 am'">Late Start</span>
        <span *ngSwitchDefault>Normal Start</span>
    </div>
    <div>Price: {{event.price | currency}}</div>
    <div>
        <span>Online URL: {{ event.onlineUrl }}</span>
    </div>
</div>
    
  1. 在 Visual Studio Code 中,打开文件src > app > app.component.html,删除文件内容,并添加以下代码:
      <app-event-thumbnail></app-event-thumbnail>
    

启动开发服务器

  1. 在命令提示符中运行以下命令,以监视模式启动 Angular Development Server:ng serve
  2. 如果提示分享 Angular CLI 使用数据,请按N键表示不分享。
  3. 打开浏览器并在地址栏中输入以下 URL 来启动应用程序:https://localhost:4200
  4. 请注意,应用所有样式后,事件缩略图均可正常呈现。

使用 styleUrls 属性

  1. 在 Visual Studio Code 中,打开文件src > event-thumbnail > event-thumbnail.component.ts ,从样式数组中复制所有 CSS 代码,然后将其粘贴到文件src > event-thumbnail > event-thumbnail.component.css中。最终的event-thumbnail.component.css文件应如下所示:
      .green { color:#003300 !important; }
.bold { font-weight:bold; }
.thumbnail { min-height: 210px; padding-left: 10px; background-color:#343a40; margin-bottom:10px; }
.pad-left { margin-left: 10px; }
.well div { color: #bbb; }
    
  1. 在 Visual Studio Code 中,打开文件src > event-thumbnail > event-thumbnail.component.ts使用以下代码替换组件装饰器中的style属性:
      styleUrls: ['./event-thumbnail.component.css']
    
  1. 请注意,在浏览器中,事件缩略图组件在应用了所有样式后仍能正常呈现。

结论

恭喜!您已使用样式styleUrls 元数据属性来设置组件 HTML 模板的样式。有关更多信息,请参阅Angular 中的样式文档。

以上内容来自杭州电子商务研究院推送
关注
关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据