You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Angular中基于Div内容自定义Syncfusion EJ2 Tab样式

实现Syncfusion EJ2 Angular Tab表头自定义样式

步骤1:定义表头数据(TS文件)

在组件的TypeScript代码里,把表头内容拆分为带样式标签的结构,方便单独控制数字和文字的样式:

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

@Component({
  selector: 'app-tab-demo',
  templateUrl: './tab-demo.component.html',
  styleUrls: ['./tab-demo.component.css']
})
export class TabDemoComponent {
  // 表头数组,按需定义多个项
  headerText: any[] = [
    { text: '<span class="tab-number">1</span> <span class="tab-label">设置基础信息</span>' },
    { text: '<span class="tab-number">2</span> <span class="tab-label">分配角色</span>' }
  ];
}

步骤2:编写模板代码(HTML文件)

参考你提供的结构绑定表头数据,同时给Tab组件开启HTML支持(避免标签被转义):

<ejs-tab enableHtmlSanitizer="false">
  <e-tabitems>
    <e-tabitem [header]='headerText[0]'>
      <ng-template #content>
        <div id='basic-info'>
          <p>设置基础信息内容</p>
        </div>
      </ng-template>
    </e-tabitem>
    <e-tabitem [header]='headerText[1]'>
      <ng-template #content>
        <div id='roles'>
          <p>分配角色内容</p>
        </div>
      </ng-template>
    </e-tabitem>
  </e-tabitems>
</ejs-tab>

步骤3:添加自定义样式(CSS文件)

在组件样式文件里,给数字设置蓝色圆形样式,文字保持黑色:

/* 表头数字的蓝色圆形样式 */
.tab-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #165DFF; /* 可按需调整蓝色色调 */
  color: #ffffff; /* 数字用白色,和蓝色背景对比更清晰 */
  margin-right: 8px;
  font-size: 14px;
}

/* 表头文字的黑色样式 */
.tab-label {
  color: #000000;
  font-size: 14px;
}

说明

  • enableHtmlSanitizer="false"是关键,否则Syncfusion会自动转义表头里的HTML标签,导致样式不生效
  • 可根据需求调整圆形尺寸、蓝色色值、文字大小等参数

内容的提问来源于stack exchange,提问作者Ayush shrivastava

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 23:58:20