Card卡片

    最基础的卡片容器,可承载文字、列表、图片、段落,常用于后台概览页面。

    想要了解更多关于单独引入组件的内容,可以在快速上手页面进行查看。

    包含标题、内容、操作区域。

    1. @Component({
    2. selector: 'nz-demo-card-basic',
    3. template: `
    4. <nz-card style="width:300px;" nzTitle="Card title" [nzExtra]="extraTemplate">
    5. <p>Card content</p>
    6. <p>Card content</p>
    7. <p>Card content</p>
    8. </nz-card>
    9. <ng-template #extraTemplate>
    10. <a>More</a>
    11. </ng-template>
    12. `,
    13. styles: [
    14. `
    15. p {
    16. margin: 0;
    17. }
    18. `
    19. ]
    20. })
    21. export class NzDemoCardBasicComponent {}

    Card卡片 - 图2

    无边框

    在灰色背景上使用无边框的卡片。

    1. import { Component } from '@angular/core';
    2. @Component({
    3. selector: 'nz-demo-card-border-less',
    4. template: `
    5. <div style="background: #ECECEC;padding:30px;">
    6. <nz-card style="width:300px;" [nzBordered]="false" nzTitle="Card title" [nzExtra]="extraTemplate">
    7. <p>Card content</p>
    8. <p>Card content</p>
    9. <p>Card content</p>
    10. </nz-card>
    11. </div>
    12. <ng-template #extraTemplate>
    13. <a>More</a>
    14. </ng-template>
    15. `,
    16. styles: [
    17. `
    18. p {
    19. margin: 0;
    20. }
    21. `
    22. ]
    23. })
    24. export class NzDemoCardBorderLessComponent {}

    只包含内容区域。

    1. import { Component } from '@angular/core';
    2. @Component({
    3. selector: 'nz-demo-card-simple',
    4. template: `
    5. <nz-card style="width:300px;">
    6. <p>Card content</p>
    7. <p>Card content</p>
    8. <p>Card content</p>
    9. </nz-card>
    10. `,
    11. styles: [
    12. `
    13. p {
    14. margin: 0;
    15. }
    16. `
    17. ]
    18. })
    19. export class NzDemoCardSimpleComponent {}

    更灵活的内容展示

    可以利用 nz-card-meta 支持更灵活的内容。

    Card卡片 - 图5

    在系统概览页面常常和栅格进行配合。

    1. import { Component } from '@angular/core';
    2. selector: 'nz-demo-card-in-column',
    3. template: `
    4. <div style="background: #ECECEC;padding:30px;">
    5. <div nz-row [nzGutter]="8">
    6. <div nz-col [nzSpan]="8">
    7. <nz-card nzTitle="Card title">
    8. <p>Card content</p>
    9. </nz-card>
    10. </div>
    11. <div nz-col [nzSpan]="8">
    12. <nz-card nzTitle="Card title">
    13. <p>Card content</p>
    14. </nz-card>
    15. </div>
    16. <div nz-col [nzSpan]="8">
    17. <p>Card content</p>
    18. </nz-card>
    19. </div>
    20. </div>
    21. </div>
    22. `,
    23. styles: [
    24. `
    25. p {
    26. margin: 0;
    27. }
    28. `
    29. ]
    30. })
    31. export class NzDemoCardInColumnComponent {}

    预加载的卡片

    数据读入前会有文本块样式。

    1. import { Component } from '@angular/core';
    2. @Component({
    3. selector: 'nz-demo-card-loading',
    4. template: `
    5. <nz-switch [(ngModel)]="loading"></nz-switch>
    6. <nz-card style="width: 300px;margin-top: 16px" [nzLoading]="loading">
    7. <nz-card-meta
    8. [nzAvatar]="avatarTemplate"
    9. nzTitle="Card title"
    10. nzDescription="This is the description"
    11. ></nz-card-meta>
    12. </nz-card>
    13. <nz-card style="width: 300px;margin-top: 16px" [nzActions]="[actionSetting, actionEdit, actionEllipsis]">
    14. <nz-skeleton [nzActive]="true" [nzLoading]="loading" [nzAvatar]="{ size: 'large' }">
    15. <nz-card-meta
    16. [nzAvatar]="avatarTemplate"
    17. nzTitle="Card title"
    18. nzDescription="This is the description"
    19. ></nz-card-meta>
    20. </nz-skeleton>
    21. </nz-card>
    22. <ng-template #avatarTemplate>
    23. <nz-avatar nzSrc="https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png"></nz-avatar>
    24. </ng-template>
    25. <ng-template #actionSetting>
    26. <i nz-icon nzType="setting"></i>
    27. </ng-template>
    28. <ng-template #actionEdit>
    29. <i nz-icon nzType="edit"></i>
    30. </ng-template>
    31. <ng-template #actionEllipsis>
    32. <i nz-icon nzType="ellipsis"></i>
    33. </ng-template>
    34. `
    35. })
    36. export class NzDemoCardLoadingComponent {
    37. loading = true;
    38. }

    Card卡片 - 图7

    一种常见的卡片内容区隔模式。

    1. import { Component } from '@angular/core';
    2. @Component({
    3. selector: 'nz-demo-card-grid-card',
    4. template: `
    5. <nz-card nzTitle="Cart Title">
    6. <div nz-card-grid [ngStyle]="gridStyle">Content</div>
    7. <div nz-card-grid [ngStyle]="gridStyle">Content</div>
    8. <div nz-card-grid [ngStyle]="gridStyle">Content</div>
    9. <div nz-card-grid [ngStyle]="gridStyle">Content</div>
    10. <div nz-card-grid [ngStyle]="gridStyle">Content</div>
    11. <div nz-card-grid [ngStyle]="gridStyle">Content</div>
    12. </nz-card>
    13. `
    14. })
    15. export class NzDemoCardGridCardComponent {
    16. gridStyle = {
    17. width: '25%',
    18. textAlign: 'center'
    19. };
    20. }

    内部卡片

    可以放在普通卡片内部,展示多层级结构的信息。

    Card卡片 - 图9

    可承载更多内容。

    1. import { Component } from '@angular/core';
    2. @Component({
    3. selector: 'nz-demo-card-tabs',
    4. template: `
    5. <nz-card style="width: 100%;" nzTitle="Card title" [nzExtra]="extraTemplate">
    6. <nz-card-tab>
    7. <nz-tabset nzSize="large" [(nzSelectedIndex)]="index1">
    8. <nz-tab nzTitle="tab1"></nz-tab>
    9. <nz-tab nzTitle="tab2"></nz-tab>
    10. </nz-card-tab>
    11. content{{ index1 }}
    12. </nz-card>
    13. <ng-template #extraTemplate>
    14. <a>More</a>
    15. </ng-template>
    16. <br />
    17. <br />
    18. <nz-card style="width: 100%;">
    19. <nz-card-tab>
    20. <nz-tabset nzSize="large" [(nzSelectedIndex)]="index2">
    21. <nz-tab nzTitle="article"></nz-tab>
    22. <nz-tab nzTitle="app"></nz-tab>
    23. <nz-tab nzTitle="project"></nz-tab>
    24. </nz-tabset>
    25. </nz-card-tab>
    26. content{{ index2 }}
    27. </nz-card>
    28. `
    29. })
    30. export class NzDemoCardTabsComponent {
    31. index1 = 0;
    32. index2 = 0;
    33. }

    支持更多内容配置

    一种支持封面、头像、标题和描述信息的卡片。

    1. import { Component } from '@angular/core';
    2. @Component({
    3. selector: 'nz-demo-card-meta',
    4. template: `
    5. <nz-card style="width:300px;" [nzCover]="coverTemplate" [nzActions]="[actionSetting, actionEdit, actionEllipsis]">
    6. <nz-card-meta
    7. nzTitle="Card title"
    8. nzDescription="This is the description"
    9. [nzAvatar]="avatarTemplate"
    10. ></nz-card-meta>
    11. </nz-card>
    12. <ng-template #avatarTemplate>
    13. <nz-avatar nzSrc="https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png"></nz-avatar>
    14. </ng-template>
    15. <ng-template #coverTemplate>
    16. <img alt="example" src="https://gw.alipayobjects.com/zos/rmsportal/JiqGstEfoWAOHiTxclqi.png" />
    17. </ng-template>
    18. <ng-template #actionSetting>
    19. <i nz-icon nzType="setting"></i>
    20. </ng-template>
    21. <ng-template #actionEdit>
    22. <i nz-icon nzType="edit"></i>
    23. </ng-template>
    24. <ng-template #actionEllipsis>
    25. <i nz-icon nzType="ellipsis"></i>
    26. </ng-template>
    27. `
    28. })
    29. export class NzDemoCardMetaComponent {}

      参数说明类型默认值
      [nzAvatar]头像/图标TemplateRef<void>-
      [nzDescription]描述内容string | TemplateRef<void>-
      [nzTitle]标题内容string | TemplateRef<void>-

      分隔卡片内容区域

      分隔页签标题区域