diff --git a/components/badge/__tests__/index-spec.tsx b/components/badge/__tests__/index-spec.tsx
index cbd2241ad9..cee67ab1fc 100644
--- a/components/badge/__tests__/index-spec.tsx
+++ b/components/badge/__tests__/index-spec.tsx
@@ -116,4 +116,37 @@ describe('Badge', () => {
cy.mount();
cy.get('.next-badge-count.next-badge-scroll-number');
});
+
+ it('should on right when children is block', () => {
+ cy.mount(
+
+
+
+ );
+ cy.get('.next-badge-count').then($el => {
+ $el.css({
+ transition: 'none',
+ animation: 'none',
+ });
+ });
+ cy.get('.next-badge-count').then($el => {
+ const targetRect = $el[0].getBoundingClientRect();
+ const badgeRect = document.querySelector('.next-badge')!.getBoundingClientRect();
+ const position = {
+ left: Math.round(targetRect.left),
+ top: Math.round(targetRect.top),
+ };
+ expect(position).to.deep.equal({
+ left: Math.round(badgeRect.left + badgeRect.width - targetRect.width / 2),
+ top: Math.round(badgeRect.top - 4),
+ });
+ });
+ });
});
diff --git a/components/badge/main.scss b/components/badge/main.scss
index cf74b31ca7..75aa0a5188 100644
--- a/components/badge/main.scss
+++ b/components/badge/main.scss
@@ -77,6 +77,8 @@
z-index: 10;
overflow: hidden;
transform-origin: left center;
+ transform: translateX(50%);
+ right: 0;
}
&-scroll-number-only {