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 {