diff --git a/src/hooks/useAlign.ts b/src/hooks/useAlign.ts index c8a50991..db297856 100644 --- a/src/hooks/useAlign.ts +++ b/src/hooks/useAlign.ts @@ -698,13 +698,13 @@ export default function useAlign( popupMirrorRect.bottom - popupRect.y - (nextOffsetY + popupRect.height); if (scaleX === 1) { - nextOffsetX = Math.round(nextOffsetX); - offsetX4Right = Math.round(offsetX4Right); + nextOffsetX = Math.floor(nextOffsetX); + offsetX4Right = Math.floor(offsetX4Right); } if (scaleY === 1) { - nextOffsetY = Math.round(nextOffsetY); - offsetY4Bottom = Math.round(offsetY4Bottom); + nextOffsetY = Math.floor(nextOffsetY); + offsetY4Bottom = Math.floor(offsetY4Bottom); } const nextOffsetInfo = { diff --git a/tests/align.test.tsx b/tests/align.test.tsx index 858f312b..d4e7386b 100644 --- a/tests/align.test.tsx +++ b/tests/align.test.tsx @@ -272,7 +272,7 @@ describe('Trigger.Align', () => { }); }); - it('round when decimal precision', async () => { + it('floor when decimal precision', async () => { rectX = 22.6; rectY = 33.4; rectWidth = 33.7; @@ -293,7 +293,7 @@ describe('Trigger.Align', () => { await awaitFakeTimer(); expect(document.querySelector('.rc-trigger-popup')).toHaveStyle({ - top: `56px`, + top: `55px`, }); });