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

如何移除ng-bootstrap中ngb-carousel顶部的幻灯片序号提示文本

ng-bootstrap轮播移除slide序号文本解决方案

默认情况下sr-only是无障碍辅助类,本身规则就是视觉上完全隐藏,仅对屏幕阅读器可见。如果你能看到"slide X of X"文本,通常是你的自定义样式覆盖了sr-only的默认隐藏规则,可通过以下方法解决:

方案1:精准隐藏该元素(最推荐)

先给ngb-carousel添加自定义类,避免样式污染其他组件:

<ngb-carousel 
  class="hide-slide-count"
  [showNavigationArrows]="showNavigationArrows" 
  [showNavigationIndicators]="showNavigationIndicators"
>
    <!-- 你的slide内容保持不变 -->
    <ng-template ngbSlide>
      <div class="picsum-img-wrapper">
        <img src="assets\fsfhjllz_vegetables-banner.png" class="mh-100" style="width: 100%; height: 30vh; object-fit:cover;">
      </div>
    </ng-template>
  
    <ng-template ngbSlide>
      <div class="picsum-img-wrapper">
        <img src="assets\vh9oeys6_fruit-banner.png" class="mh-100" style="width: 100%; height: 30vh; object-fit: cover;">
      </div>
    </ng-template>
</ngb-carousel>

如果是在使用轮播的组件对应的样式文件中添加规则,需要用::ng-deep穿透Angular的组件样式封装:

::ng-deep .hide-slide-count .carousel-item .sr-only {
  display: none !important;
}

如果是在全局样式文件styles.css中添加,可直接写:

.hide-slide-count .carousel-item .sr-only {
  display: none !important;
}

方案2:恢复sr-only默认样式(保留无障碍能力)

如果是全局样式错误覆盖了sr-only的默认规则,可在全局样式中添加以下代码恢复其原生逻辑,既不会视觉展示文本,也能保留屏幕阅读器的无障碍支持:

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

不推荐直接手动操作DOM移除该元素:ng-bootstrap轮播动态更新slide时会重新生成该节点,手动移除的逻辑会重复执行甚至失效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 09:57:05